From b6473137d598bed0eaedcfb4ea1e0a7191f5b228 Mon Sep 17 00:00:00 2001 From: Doppler Bot <57646694+doppler-bot@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:02:30 -0700 Subject: [PATCH] SDK update generated by liblab --- .github/workflows/build-checks.yml | 4 +- package-lock.json | 154 +-- package.json | 2 +- src/http/HTTPLibrary.ts | 2 +- src/index.ts | 63 +- src/models.ts | 39 +- src/services/README.md | 952 +++++++++--------- src/services/activityLogs/ActivityLogs.ts | 60 +- src/services/activityLogs/index.ts | 2 +- src/services/audit/Audit.ts | 37 - src/services/audit/index.ts | 1 - src/services/auth/Auth.ts | 22 + src/services/auth/index.ts | 1 + src/services/auth/models/MeResponse.ts | 13 + src/services/configLogs/ConfigLogs.ts | 8 +- src/services/configLogs/index.ts | 2 +- src/services/configLogs/models/GetResponse.ts | 24 + src/services/environments/Environments.ts | 128 +-- src/services/environments/index.ts | 6 +- .../invites/models/InvitesListResponse.ts | 4 +- .../models/ProjectRolesGetResponse.ts | 4 +- .../models/ProjectRolesListResponse.ts | 4 +- src/services/projects/Projects.ts | 118 +-- src/services/projects/index.ts | 8 +- .../projects/models/ProjectsGetResponse.ts | 9 + .../projects/models/ProjectsUpdateRequest.ts | 14 + .../projects/models/ProjectsUpdateResponse.ts | 9 + src/services/secrets/Secrets.ts | 10 +- src/services/secrets/index.ts | 4 +- src/services/secrets/models/UpdateRequest.ts | 19 + src/services/secrets/models/UpdateResponse.ts | 23 + .../models/ServiceAccountsCreateResponse.ts | 4 +- .../models/ServiceAccountsGetResponse.ts | 4 +- .../models/ServiceAccountsListResponse.ts | 4 +- src/services/users/Users.ts | 67 ++ src/services/users/index.ts | 2 + src/services/users/models/UsersGetResponse.ts | 16 + .../users/models/UsersListResponse.ts | 16 + src/services/workplace/Workplace.ts | 17 +- .../workplace/models/WorkplaceGetResponse.ts | 4 +- .../models/WorkplaceUpdateRequest.ts | 4 +- .../models/WorkplaceUpdateResponse.ts | 1 + .../models/WorkplaceRolesGetResponse.ts | 4 +- .../models/WorkplaceRolesListResponse.ts | 4 +- .../activityLogs/ActivityLogs.test.ts | 34 +- test/services/audit/Audit.test.ts | 21 +- test/services/auth/Auth.test.ts | 7 + test/services/configLogs/ConfigLogs.test.ts | 32 +- test/services/configs/Configs.test.ts | 50 +- .../environments/Environments.test.ts | 86 +- test/services/groups/Groups.test.ts | 54 +- .../integrations/Integrations.test.ts | 30 +- test/services/invites/Invites.test.ts | 4 +- .../projectMembers/ProjectMembers.test.ts | 50 +- .../projectRoles/ProjectRoles.test.ts | 30 +- test/services/projects/Projects.test.ts | 46 +- test/services/secrets/Secrets.test.ts | 76 +- .../serviceAccounts/ServiceAccounts.test.ts | 36 +- .../serviceTokens/ServiceTokens.test.ts | 14 +- test/services/syncs/Syncs.test.ts | 38 +- test/services/users/Users.test.ts | 53 + test/services/workplace/Workplace.test.ts | 6 +- .../workplaceRoles/WorkplaceRoles.test.ts | 30 +- 63 files changed, 1425 insertions(+), 1165 deletions(-) create mode 100644 src/services/auth/models/MeResponse.ts create mode 100644 src/services/configLogs/models/GetResponse.ts create mode 100644 src/services/projects/models/ProjectsGetResponse.ts create mode 100644 src/services/projects/models/ProjectsUpdateRequest.ts create mode 100644 src/services/projects/models/ProjectsUpdateResponse.ts create mode 100644 src/services/secrets/models/UpdateRequest.ts create mode 100644 src/services/secrets/models/UpdateResponse.ts create mode 100644 src/services/users/Users.ts create mode 100644 src/services/users/index.ts create mode 100644 src/services/users/models/UsersGetResponse.ts create mode 100644 src/services/users/models/UsersListResponse.ts create mode 100644 test/services/users/Users.test.ts diff --git a/.github/workflows/build-checks.yml b/.github/workflows/build-checks.yml index 0282bcd..10aff5c 100644 --- a/.github/workflows/build-checks.yml +++ b/.github/workflows/build-checks.yml @@ -26,12 +26,10 @@ jobs: - name: Install dependencies run: npm install - - name: Run build - run: npm run build - # TODO: Finish fixing eslint issues # - name: Run ESLint check # run: npm run lint:ci - name: Run Test & Coverage check run: npm run test + diff --git a/package-lock.json b/package-lock.json index f9bf651..36a5e6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dopplerhq/node-sdk", - "version": "1.1.3", + "version": "1.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dopplerhq/node-sdk", - "version": "1.1.3", + "version": "1.2.0", "devDependencies": { "@types/jest": "^27.4.1", "@types/node": "^17.0.23", @@ -133,30 +133,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.17.tgz", - "integrity": "sha512-2EENLmhpwplDux5PSsZnSbnSkB3tZ6QTksgO25xwEL7pIDcNOMhF5v/s6RzwjMZzZzw9Ofc30gHv5ChCC8pifQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.20.tgz", + "integrity": "sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.22.15", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.17", + "@babel/helper-module-transforms": "^7.22.20", "@babel/helpers": "^7.22.15", "@babel/parser": "^7.22.16", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.17", - "@babel/types": "^7.22.17", + "@babel/traverse": "^7.22.20", + "@babel/types": "^7.22.19", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -221,9 +221,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -267,16 +267,16 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.17.tgz", - "integrity": "sha512-XouDDhQESrLHTpnBtCKExJdyY4gJCdrvH2Pyv8r8kovX2U8G0dRUOT45T9XlbLtuu9CLXP15eusnkprhoPV5iQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz", + "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.15" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -328,9 +328,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz", - "integrity": "sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -360,12 +360,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -633,19 +633,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.17.tgz", - "integrity": "sha512-xK4Uwm0JnAMvxYZxOVecss85WxTEIbTa7bnGyf/+EgCL5Zt3U7htUpEOWv9detPlamGKuRzCqw74xVglDWpPdg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz", + "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", "@babel/generator": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.22.5", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.17", + "@babel/types": "^7.22.19", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -663,13 +663,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.17", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.17.tgz", - "integrity": "sha512-YSQPHLFtQNE5xN9tHuZnzu8vPr61wVTBZdfv1meex1NBosa4iT05k/Jw06ddJugi4bk7The/oSwQGFcksmEJQg==", + "version": "7.22.19", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz", + "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.15", + "@babel/helper-validator-identifier": "^7.22.19", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1582,9 +1582,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -1595,18 +1595,18 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -1614,9 +1614,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" @@ -1666,9 +1666,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", "dev": true }, "node_modules/@types/json5": { @@ -2451,9 +2451,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001534", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz", - "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==", + "version": "1.0.30001535", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001535.tgz", + "integrity": "sha512-48jLyUkiWFfhm/afF7cQPqPjaUmSraEhK4j+FCTJpgnGGEZHqyLe3hmWH7lIooZdSzXL0ReMvHz0vKDoTBsrwg==", "dev": true, "funding": [ { @@ -2839,9 +2839,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.520", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.520.tgz", - "integrity": "sha512-Frfus2VpYADsrh1lB3v/ft/WVFlVzOIm+Q0p7U7VqHI6qr7NWHYKe+Wif3W50n7JAFoBsWVsoU0+qDks6WQ60g==", + "version": "1.4.523", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz", + "integrity": "sha512-9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==", "dev": true }, "node_modules/emittery": { @@ -2872,18 +2872,18 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", + "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -2899,23 +2899,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -3601,9 +3601,9 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/for-each": { @@ -6070,9 +6070,9 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "dev": true, "dependencies": { "is-core-module": "^2.13.0", @@ -6151,9 +6151,9 @@ } }, "node_modules/rollup": { - "version": "3.29.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.1.tgz", - "integrity": "sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==", + "version": "3.29.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.2.tgz", + "integrity": "sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==", "dev": true, "bin": { "rollup": "dist/bin/rollup" diff --git a/package.json b/package.json index 57eb584..f6e905b 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ }, "name": "@dopplerhq/node-sdk", "description": "DopplerSDK", - "version": "1.1.3", + "version": "1.2.0", "author": "DopplerSDK", "dependencies": {}, "type": "module" diff --git a/src/http/HTTPLibrary.ts b/src/http/HTTPLibrary.ts index eb4ecdd..de54dd9 100644 --- a/src/http/HTTPLibrary.ts +++ b/src/http/HTTPLibrary.ts @@ -11,7 +11,7 @@ interface Response { export default class HTTPLibrary implements HTTPClient { readonly userAgentHeader: Headers = { - 'User-Agent': 'liblab/0.1.17 DopplerSDK/1.1.3 typescript/5.2.2', + 'User-Agent': 'liblab/0.1.17 DopplerSDK/1.2.0 typescript/5.2.2', }; readonly retryAttempts: number = 3; diff --git a/src/index.ts b/src/index.ts index 5dd46a3..bec086e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,23 +1,23 @@ import { ProjectsService } from './services/projects/Projects'; -import { EnvironmentsService } from './services/environments/Environments'; -import { ConfigsService } from './services/configs/Configs'; import { SecretsService } from './services/secrets/Secrets'; import { ConfigLogsService } from './services/configLogs/ConfigLogs'; -import { WorkplaceService } from './services/workplace/Workplace'; +import { EnvironmentsService } from './services/environments/Environments'; +import { ConfigsService } from './services/configs/Configs'; import { ActivityLogsService } from './services/activityLogs/ActivityLogs'; +import { WorkplaceService } from './services/workplace/Workplace'; import { ServiceTokensService } from './services/serviceTokens/ServiceTokens'; import { AuditService } from './services/audit/Audit'; import { DynamicSecretsService } from './services/dynamicSecrets/DynamicSecrets'; import { AuthService } from './services/auth/Auth'; import { IntegrationsService } from './services/integrations/Integrations'; import { SyncsService } from './services/syncs/Syncs'; -import { V3Service } from './services/v3/V3'; import { WorkplaceRolesService } from './services/workplaceRoles/WorkplaceRoles'; import { ProjectRolesService } from './services/projectRoles/ProjectRoles'; import { ProjectMembersService } from './services/projectMembers/ProjectMembers'; import { InvitesService } from './services/invites/Invites'; import { ServiceAccountsService } from './services/serviceAccounts/ServiceAccounts'; import { GroupsService } from './services/groups/Groups'; +import { UsersService } from './services/users/Users'; export * from './models'; @@ -25,22 +25,22 @@ export * as SecretsModels from './services/secrets'; export * as ProjectMembersModels from './services/projectMembers'; export * as GroupsModels from './services/groups'; export * as ProjectsModels from './services/projects'; +export * as ConfigLogsModels from './services/configLogs'; export * as EnvironmentsModels from './services/environments'; export * as ConfigsModels from './services/configs'; export * as ServiceTokensModels from './services/serviceTokens'; -export * as ConfigLogsModels from './services/configLogs'; -export * as WorkplaceModels from './services/workplace'; export * as ActivityLogsModels from './services/activityLogs'; +export * as WorkplaceModels from './services/workplace'; export * as AuditModels from './services/audit'; export * as DynamicSecretsModels from './services/dynamicSecrets'; export * as IntegrationsModels from './services/integrations'; export * as SyncsModels from './services/syncs'; -export * as V3Models from './services/v3'; +export * as AuthModels from './services/auth'; export * as WorkplaceRolesModels from './services/workplaceRoles'; export * as ProjectRolesModels from './services/projectRoles'; export * as InvitesModels from './services/invites'; export * as ServiceAccountsModels from './services/serviceAccounts'; -export * as AuthModels from './services/auth'; +export * as UsersModels from './services/users'; type Config = { accessToken?: string; @@ -48,70 +48,93 @@ type Config = { export class DopplerSDK { public projects: ProjectsService; - public environments: EnvironmentsService; - public configs: ConfigsService; public secrets: SecretsService; public configLogs: ConfigLogsService; - public workplace: WorkplaceService; + public environments: EnvironmentsService; + public configs: ConfigsService; public activityLogs: ActivityLogsService; + public workplace: WorkplaceService; public serviceTokens: ServiceTokensService; public audit: AuditService; public dynamicSecrets: DynamicSecretsService; public auth: AuthService; public integrations: IntegrationsService; public syncs: SyncsService; - public v3: V3Service; public workplaceRoles: WorkplaceRolesService; public projectRoles: ProjectRolesService; public projectMembers: ProjectMembersService; public invites: InvitesService; public serviceAccounts: ServiceAccountsService; public groups: GroupsService; + public users: UsersService; constructor({ accessToken = '' }: Config) { this.projects = new ProjectsService(accessToken); - this.environments = new EnvironmentsService(accessToken); - this.configs = new ConfigsService(accessToken); this.secrets = new SecretsService(accessToken); this.configLogs = new ConfigLogsService(accessToken); - this.workplace = new WorkplaceService(accessToken); + this.environments = new EnvironmentsService(accessToken); + this.configs = new ConfigsService(accessToken); this.activityLogs = new ActivityLogsService(accessToken); + this.workplace = new WorkplaceService(accessToken); this.serviceTokens = new ServiceTokensService(accessToken); this.audit = new AuditService(accessToken); this.dynamicSecrets = new DynamicSecretsService(accessToken); this.auth = new AuthService(accessToken); this.integrations = new IntegrationsService(accessToken); this.syncs = new SyncsService(accessToken); - this.v3 = new V3Service(accessToken); this.workplaceRoles = new WorkplaceRolesService(accessToken); this.projectRoles = new ProjectRolesService(accessToken); this.projectMembers = new ProjectMembersService(accessToken); this.invites = new InvitesService(accessToken); this.serviceAccounts = new ServiceAccountsService(accessToken); this.groups = new GroupsService(accessToken); + this.users = new UsersService(accessToken); + } + + setBaseUrl(url: string): void { + this.projects.setBaseUrl(url); + this.secrets.setBaseUrl(url); + this.configLogs.setBaseUrl(url); + this.environments.setBaseUrl(url); + this.configs.setBaseUrl(url); + this.activityLogs.setBaseUrl(url); + this.workplace.setBaseUrl(url); + this.serviceTokens.setBaseUrl(url); + this.audit.setBaseUrl(url); + this.dynamicSecrets.setBaseUrl(url); + this.auth.setBaseUrl(url); + this.integrations.setBaseUrl(url); + this.syncs.setBaseUrl(url); + this.workplaceRoles.setBaseUrl(url); + this.projectRoles.setBaseUrl(url); + this.projectMembers.setBaseUrl(url); + this.invites.setBaseUrl(url); + this.serviceAccounts.setBaseUrl(url); + this.groups.setBaseUrl(url); + this.users.setBaseUrl(url); } setAccessToken(accessToken: string) { this.projects.setAccessToken(accessToken); - this.environments.setAccessToken(accessToken); - this.configs.setAccessToken(accessToken); this.secrets.setAccessToken(accessToken); this.configLogs.setAccessToken(accessToken); - this.workplace.setAccessToken(accessToken); + this.environments.setAccessToken(accessToken); + this.configs.setAccessToken(accessToken); this.activityLogs.setAccessToken(accessToken); + this.workplace.setAccessToken(accessToken); this.serviceTokens.setAccessToken(accessToken); this.audit.setAccessToken(accessToken); this.dynamicSecrets.setAccessToken(accessToken); this.auth.setAccessToken(accessToken); this.integrations.setAccessToken(accessToken); this.syncs.setAccessToken(accessToken); - this.v3.setAccessToken(accessToken); this.workplaceRoles.setAccessToken(accessToken); this.projectRoles.setAccessToken(accessToken); this.projectMembers.setAccessToken(accessToken); this.invites.setAccessToken(accessToken); this.serviceAccounts.setAccessToken(accessToken); this.groups.setAccessToken(accessToken); + this.users.setAccessToken(accessToken); } } diff --git a/src/models.ts b/src/models.ts index 7cd768e..7d0381f 100644 --- a/src/models.ts +++ b/src/models.ts @@ -2,35 +2,34 @@ export type { Format } from './services/secrets/models/Format'; export type { NameTransformer } from './services/secrets/models/NameTransformer'; export type { Type } from './services/projectMembers/models/Type'; export type { GroupsType } from './services/groups/models/GroupsType'; -export type { GetResponse } from './services/projects/models/GetResponse'; -export type { UpdateResponse } from './services/projects/models/UpdateResponse'; export type { ListResponse } from './services/projects/models/ListResponse'; export type { CreateResponse } from './services/projects/models/CreateResponse'; -export type { EnvironmentsListResponse } from './services/environments/models/EnvironmentsListResponse'; -export type { EnvironmentsCreateResponse } from './services/environments/models/EnvironmentsCreateResponse'; +export type { SecretsListResponse } from './services/secrets/models/SecretsListResponse'; +export type { UpdateResponse } from './services/secrets/models/UpdateResponse'; +export type { ConfigLogsListResponse } from './services/configLogs/models/ConfigLogsListResponse'; +export type { GetResponse } from './services/configLogs/models/GetResponse'; +export type { EnvironmentsGetResponse } from './services/environments/models/EnvironmentsGetResponse'; +export type { RenameResponse } from './services/environments/models/RenameResponse'; +export type { ProjectsGetResponse } from './services/projects/models/ProjectsGetResponse'; +export type { ProjectsUpdateResponse } from './services/projects/models/ProjectsUpdateResponse'; export type { ConfigsListResponse } from './services/configs/models/ConfigsListResponse'; export type { ConfigsCreateResponse } from './services/configs/models/ConfigsCreateResponse'; export type { ConfigsGetResponse } from './services/configs/models/ConfigsGetResponse'; export type { ConfigsUpdateResponse } from './services/configs/models/ConfigsUpdateResponse'; export type { DeleteResponse } from './services/common/DeleteResponse'; -export type { EnvironmentsGetResponse } from './services/environments/models/EnvironmentsGetResponse'; -export type { RenameResponse } from './services/environments/models/RenameResponse'; -export type { SecretsListResponse } from './services/secrets/models/SecretsListResponse'; -export type { SecretsUpdateResponse } from './services/secrets/models/SecretsUpdateResponse'; -export type { ConfigLogsListResponse } from './services/configLogs/models/ConfigLogsListResponse'; -export type { ConfigLogsGetResponse } from './services/configLogs/models/ConfigLogsGetResponse'; +export type { EnvironmentsListResponse } from './services/environments/models/EnvironmentsListResponse'; +export type { EnvironmentsCreateResponse } from './services/environments/models/EnvironmentsCreateResponse'; +export type { RollbackResponse } from './services/configLogs/models/RollbackResponse'; +export type { RetrieveResponse } from './services/activityLogs/models/RetrieveResponse'; export type { WorkplaceGetResponse } from './services/workplace/models/WorkplaceGetResponse'; export type { WorkplaceUpdateResponse } from './services/workplace/models/WorkplaceUpdateResponse'; export type { ActivityLogsListResponse } from './services/activityLogs/models/ActivityLogsListResponse'; -export type { RetrieveResponse } from './services/activityLogs/models/RetrieveResponse'; export type { SecretsGetResponse } from './services/secrets/models/SecretsGetResponse'; -export type { RollbackResponse } from './services/configLogs/models/RollbackResponse'; export type { ServiceTokensListResponse } from './services/serviceTokens/models/ServiceTokensListResponse'; export type { ServiceTokensCreateResponse } from './services/serviceTokens/models/ServiceTokensCreateResponse'; export type { CloneResponse } from './services/configs/models/CloneResponse'; export type { LockResponse } from './services/configs/models/LockResponse'; export type { UnlockResponse } from './services/configs/models/UnlockResponse'; -export type { GetUsersResponse } from './services/audit/models/GetUsersResponse'; export type { GetUserResponse } from './services/audit/models/GetUserResponse'; export type { DownloadResponse } from './services/secrets/models/DownloadResponse'; export type { IssueLeaseResponse } from './services/dynamicSecrets/models/IssueLeaseResponse'; @@ -45,7 +44,7 @@ export type { IntegrationsDeleteResponse } from './services/integrations/models/ export type { SyncsCreateResponse } from './services/syncs/models/SyncsCreateResponse'; export type { SyncsGetResponse } from './services/syncs/models/SyncsGetResponse'; export type { SyncsDeleteResponse } from './services/syncs/models/SyncsDeleteResponse'; -export type { MeResponse } from './services/v3/models/MeResponse'; +export type { MeResponse } from './services/auth/models/MeResponse'; export type { ListTrustedIpsResponse } from './services/configs/models/ListTrustedIpsResponse'; export type { AddTrustedIpResponse } from './services/configs/models/AddTrustedIpResponse'; export type { WorkplaceRolesListResponse } from './services/workplaceRoles/models/WorkplaceRolesListResponse'; @@ -71,15 +70,17 @@ export type { GroupsListResponse } from './services/groups/models/GroupsListResp export type { GroupsCreateResponse } from './services/groups/models/GroupsCreateResponse'; export type { GroupsGetResponse } from './services/groups/models/GroupsGetResponse'; export type { GroupsUpdateResponse } from './services/groups/models/GroupsUpdateResponse'; -export type { UpdateRequest } from './services/projects/models/UpdateRequest'; -export type { DeleteRequest } from './services/projects/models/DeleteRequest'; +export type { UsersListResponse } from './services/users/models/UsersListResponse'; +export type { UsersGetResponse } from './services/users/models/UsersGetResponse'; export type { CreateRequest } from './services/projects/models/CreateRequest'; -export type { EnvironmentsCreateRequest } from './services/environments/models/EnvironmentsCreateRequest'; +export type { UpdateRequest } from './services/secrets/models/UpdateRequest'; +export type { RenameRequest } from './services/environments/models/RenameRequest'; +export type { ProjectsUpdateRequest } from './services/projects/models/ProjectsUpdateRequest'; +export type { DeleteRequest } from './services/projects/models/DeleteRequest'; export type { ConfigsCreateRequest } from './services/configs/models/ConfigsCreateRequest'; export type { ConfigsUpdateRequest } from './services/configs/models/ConfigsUpdateRequest'; export type { ConfigsDeleteRequest } from './services/configs/models/ConfigsDeleteRequest'; -export type { RenameRequest } from './services/environments/models/RenameRequest'; -export type { SecretsUpdateRequest } from './services/secrets/models/SecretsUpdateRequest'; +export type { EnvironmentsCreateRequest } from './services/environments/models/EnvironmentsCreateRequest'; export type { WorkplaceUpdateRequest } from './services/workplace/models/WorkplaceUpdateRequest'; export type { ServiceTokensCreateRequest } from './services/serviceTokens/models/ServiceTokensCreateRequest'; export type { ServiceTokensDeleteRequest } from './services/serviceTokens/models/ServiceTokensDeleteRequest'; diff --git a/src/services/README.md b/src/services/README.md index 7eeec37..342339d 100644 --- a/src/services/README.md +++ b/src/services/README.md @@ -4,18 +4,18 @@ A list of all services and services methods. - [Projects](#projects) - - [Environments](#environments) - - - [Configs](#configs) - - [Secrets](#secrets) - [ConfigLogs](#configlogs) - - [Workplace](#workplace) + - [Environments](#environments) + + - [Configs](#configs) - [ActivityLogs](#activitylogs) + - [Workplace](#workplace) + - [ServiceTokens](#servicetokens) - [Audit](#audit) @@ -28,8 +28,6 @@ A list of all services and services methods. - [Syncs](#syncs) - - [V3](#v3) - - [WorkplaceRoles](#workplaceroles) - [ProjectRoles](#projectroles) @@ -41,6 +39,8 @@ A list of all services and services methods. - [ServiceAccounts](#serviceaccounts) - [Groups](#groups) + + - [Users](#users) - [All Methods](#all-methods) @@ -48,22 +48,44 @@ A list of all services and services methods. | Method | Description| | :-------- | :----------| +| [create](#create) | Create | +| [list](#list) | List | | [update](#update) | Update | | [get](#get) | Retrieve | | [delete](#delete) | Delete | -| [create](#create) | Create | + + +## Secrets + +| Method | Description| +| :-------- | :----------| +| [update](#update) | Update | | [list](#list) | List | +| [get](#get) | Retrieve | +| [delete](#delete) | Delete | +| [download](#download) | Download | +| [names](#names) | List Names | +| [updateNote](#updatenote) | Update Note | -## Environments +## ConfigLogs | Method | Description| | :-------- | :----------| -| [create](#create) | Create | | [list](#list) | List | | [get](#get) | Retrieve | +| [rollback](#rollback) | Rollback | + + +## Environments + +| Method | Description| +| :-------- | :----------| +| [get](#get) | Retrieve | | [delete](#delete) | Delete | | [rename](#rename) | Rename | +| [create](#create) | Create | +| [list](#list) | List | ## Configs @@ -83,26 +105,12 @@ A list of all services and services methods. | [deleteTrustedIp](#deletetrustedip) | Delete | -## Secrets - -| Method | Description| -| :-------- | :----------| -| [update](#update) | Update | -| [list](#list) | List | -| [get](#get) | Retrieve | -| [delete](#delete) | Delete | -| [download](#download) | Download | -| [names](#names) | List Names | -| [updateNote](#updatenote) | Update Note | - - -## ConfigLogs +## ActivityLogs | Method | Description| | :-------- | :----------| +| [retrieve](#retrieve) | Retrieve | | [list](#list) | List | -| [get](#get) | Retrieve | -| [rollback](#rollback) | Rollback | ## Workplace @@ -113,14 +121,6 @@ A list of all services and services methods. | [get](#get) | Retrieve | -## ActivityLogs - -| Method | Description| -| :-------- | :----------| -| [list](#list) | List | -| [retrieve](#retrieve) | Retrieve | - - ## ServiceTokens | Method | Description| @@ -134,7 +134,6 @@ A list of all services and services methods. | Method | Description| | :-------- | :----------| -| [getUsers](#getusers) | Workplace Users | | [getUser](#getuser) | Workplace User | @@ -151,6 +150,7 @@ A list of all services and services methods. | Method | Description| | :-------- | :----------| | [revoke](#revoke) | Revoke | +| [me](#me) | Me | ## Integrations @@ -173,13 +173,6 @@ A list of all services and services methods. | [delete](#delete) | Delete | -## V3 - -| Method | Description| -| :-------- | :----------| -| [me](#me) | Me | - - ## WorkplaceRoles | Method | Description| @@ -246,15 +239,23 @@ A list of all services and services methods. | [deleteMember](#deletemember) | Delete Member | +## Users + +| Method | Description| +| :-------- | :----------| +| [list](#list) | List | +| [get](#get) | Retrieve | + + ## All Methods -### **update** -Update +### **create** +Create - HTTP Method: POST -- Endpoint: /v3/projects/project +- Endpoint: /v3/projects **Required Parameters** @@ -264,7 +265,7 @@ Update **Return Type** -UpdateResponse +CreateResponse **Example Usage Code Snippet** ```Typescript @@ -275,33 +276,32 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { - description: 'PROJECT_DESCRIPTION', - name: 'PROJECT_NEW_NAME', - project: 'PROJECT_NAME', - }; - const result = await sdk.projects.update(input); + const input = { description: 'PROJECT_DESCRIPTION', name: 'PROJECT_NAME' }; + const result = await sdk.projects.create(input); console.log(result); })(); ``` -### **get** -Retrieve +### **list** +List - HTTP Method: GET -- Endpoint: /v3/projects/project +- Endpoint: /v3/projects -**Required Parameters** + +**Optional Parameters** + +Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | - +| page | number | Page number | +| perPage | number | Items per page | **Return Type** -GetResponse +ListResponse **Example Usage Code Snippet** ```Typescript @@ -312,15 +312,15 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.projects.get('PROJECT_NAME'); + const result = await sdk.projects.list({ page: 1, perPage: 20 }); console.log(result); })(); ``` -### **delete** -Delete -- HTTP Method: DELETE +### **update** +Update +- HTTP Method: POST - Endpoint: /v3/projects/project **Required Parameters** @@ -331,7 +331,7 @@ Delete **Return Type** -Returns a dict object. +ProjectsUpdateResponse **Example Usage Code Snippet** ```Typescript @@ -342,27 +342,33 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { project: 'PROJECT_NAME' }; - const result = await sdk.projects.delete(input); + const input = { + description: 'PROJECT_DESCRIPTION', + name: 'PROJECT_NEW_NAME', + project: 'PROJECT_NAME', + }; + const result = await sdk.projects.update(input); console.log(result); })(); ``` -### **create** -Create -- HTTP Method: POST -- Endpoint: /v3/projects +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/projects/project **Required Parameters** -| input | object | Request body. | +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | Unique identifier for the project object. | **Return Type** -CreateResponse +ProjectsGetResponse **Example Usage Code Snippet** ```Typescript @@ -373,32 +379,26 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { description: 'PROJECT_DESCRIPTION', name: 'PROJECT_NAME' }; - const result = await sdk.projects.create(input); + const result = await sdk.projects.get('PROJECT_NAME'); console.log(result); })(); ``` -### **list** -List -- HTTP Method: GET -- Endpoint: /v3/projects - +### **delete** +Delete +- HTTP Method: DELETE +- Endpoint: /v3/projects/project -**Optional Parameters** +**Required Parameters** -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +| input | object | Request body. | -| Name | Type| Description | -| :-------- | :----------| :----------| -| page | number | Page number | -| perPage | number | Items per page | **Return Type** -ListResponse +Returns a dict object. **Example Usage Code Snippet** ```Typescript @@ -409,30 +409,28 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.projects.list({ page: 1, perPage: 20 }); + const input = { project: 'PROJECT_NAME' }; + const result = await sdk.projects.delete(input); console.log(result); })(); ``` -### **create** -Create +### **update** +Update - HTTP Method: POST -- Endpoint: /v3/environments +- Endpoint: /v3/configs/config/secrets **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| project | string | The project's name | | input | object | Request body. | **Return Type** -EnvironmentsCreateResponse +UpdateResponse **Example Usage Code Snippet** ```Typescript @@ -443,8 +441,16 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { name: 'name', slug: 'slug' }; - const result = await sdk.environments.create(input, 'project'); + const input = { + config: 'CONFIG_NAME', + project: 'PROJECT_NAME', + secrets: { + ALGOLIA: 'N9TOPUCTO', + DATABASE: '${USER}@aws.dynamodb.com:9876', + STRIPE: 'sk_test_9YxLnoLDdvOPn2dfjBVPB', + }, + }; + const result = await sdk.secrets.update(input); console.log(result); })(); @@ -453,19 +459,31 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ### **list** List - HTTP Method: GET -- Endpoint: /v3/environments +- Endpoint: /v3/configs/config/secrets **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | The project's name | +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | + +**Optional Parameters** + +Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +| Name | Type| Description | +| :-------- | :----------| :----------| +| accepts | string | Available options are: **application/json**, **text/plain** | +| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | +| dynamicSecretsTtlSec | number | The number of seconds until dynamic leases expire. Must be used with `include_dynamic_secrets`. Defaults to 1800 (30 minutes). | +| secrets | string | A comma-separated list of secrets to include in the response | +| includeManagedSecrets | boolean | Whether to include Doppler's auto-generated (managed) secrets | **Return Type** -EnvironmentsListResponse +SecretsListResponse **Example Usage Code Snippet** ```Typescript @@ -476,7 +494,13 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.environments.list('project'); + const result = await sdk.secrets.list('PROJECT_NAME', 'CONFIG_NAME', { + accepts: 'application/json', + includeDynamicSecrets: true, + dynamicSecretsTtlSec: -63740284, + secrets: 'secrets', + includeManagedSecrets: true, + }); console.log(result); })(); @@ -485,20 +509,21 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ### **get** Retrieve - HTTP Method: GET -- Endpoint: /v3/environments/environment +- Endpoint: /v3/configs/config/secret **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | The project's name | -| environment | string | The environment's slug | +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | +| name | string | Name of the secret. | **Return Type** -EnvironmentsGetResponse +SecretsGetResponse **Example Usage Code Snippet** ```Typescript @@ -509,7 +534,7 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.environments.get('project', 'environment'); + const result = await sdk.secrets.get('PROJECT_NAME', 'CONFIG_NAME', 'SECRET_NAME'); console.log(result); })(); @@ -518,14 +543,15 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ### **delete** Delete - HTTP Method: DELETE -- Endpoint: /v3/environments/environment +- Endpoint: /v3/configs/config/secret **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | The project's name | -| environment | string | The environment's slug | +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | +| name | string | Name of the secret. | @@ -542,62 +568,39 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.environments.delete('project', 'environment'); + const result = await sdk.secrets.delete('PROJECT_NAME', 'CONFIG_NAME', 'SECRET_NAME'); console.log(result); })(); ``` -### **rename** -Rename -- HTTP Method: PUT -- Endpoint: /v3/environments/environment +### **download** +Download +- HTTP Method: GET +- Endpoint: /v3/configs/config/secrets/download **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | The project's name | -| environment | string | The environment's slug | -| input | object | Request body. | - - +| project | string | Unique identifier for the project object. Not required if using a Service Token. | +| config | string | Name of the config object. Not required if using a Service Token. | -**Return Type** +**Optional Parameters** -RenameResponse - -**Example Usage Code Snippet** -```Typescript -import { DopplerSDK } from './src'; - -const DOPPLERSDK_ACCESS_TOKEN = ''; - -const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); - -(async () => { - const input = { name: 'name', slug: 'slug' }; - const result = await sdk.environments.rename(input, 'project', 'environment'); - console.log(result); -})(); - -``` - - -### **create** -Create -- HTTP Method: POST -- Endpoint: /v3/configs - -**Required Parameters** - -| input | object | Request body. | +Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +| Name | Type| Description | +| :-------- | :----------| :----------| +| format | [Format](/src/models/README.md#format) | | +| nameTransformer | [NameTransformer](/src/models/README.md#nametransformer) | Transform secret names to a different case | +| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | +| dynamicSecretsTtlSec | number | The number of seconds until dynamic leases expire. Must be used with `include_dynamic_secrets`. Defaults to 1800 (30 minutes). | **Return Type** -ConfigsCreateResponse +DownloadResponse **Example Usage Code Snippet** ```Typescript @@ -608,23 +611,28 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { environment: 'ENVIRONMENT_ID', name: 'CONFIG_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.create(input); + const result = await sdk.secrets.download('project', 'config', { + format: 'json', + nameTransformer: 'upper-camel', + includeDynamicSecrets: true, + dynamicSecretsTtlSec: 1800, + }); console.log(result); })(); ``` -### **list** -List +### **names** +List Names - HTTP Method: GET -- Endpoint: /v3/configs +- Endpoint: /v3/configs/config/secrets/names **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | The project's name | +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | **Optional Parameters** @@ -632,14 +640,13 @@ Optional parameters are passed as part of the last parameter to the method. Ex. | Name | Type| Description | | :-------- | :----------| :----------| -| environment | string | (optional) the environment from which to list configs | -| page | number | Page number | -| perPage | number | Items per page | +| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | +| includeManagedSecrets | boolean | Whether to include Doppler's auto-generated (managed) secrets | **Return Type** -ConfigsListResponse +NamesResponse **Example Usage Code Snippet** ```Typescript @@ -650,20 +657,19 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configs.list('project', { - environment: 'Environment slug', - page: 1, - perPage: 20, + const result = await sdk.secrets.names('PROJECT_NAME', 'CONFIG_NAME', { + includeDynamicSecrets: true, + includeManagedSecrets: true, }); console.log(result); })(); ``` -### **update** -Update +### **updateNote** +Update Note - HTTP Method: POST -- Endpoint: /v3/configs/config +- Endpoint: /v3/configs/config/secrets/note **Required Parameters** @@ -673,7 +679,7 @@ Update **Return Type** -ConfigsUpdateResponse +UpdateNoteResponse **Example Usage Code Snippet** ```Typescript @@ -684,17 +690,18 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', name: 'CONFIG_NEW_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.update(input); + const input = { config: 'CONFIG_NAME', note: 'note', project: 'PROJECT_NAME', secret: 'secret' }; + const result = await sdk.secrets.updateNote(input); console.log(result); })(); ``` -### **get** -Retrieve + +### **list** +List - HTTP Method: GET -- Endpoint: /v3/configs/config +- Endpoint: /v3/configs/config/logs **Required Parameters** @@ -703,11 +710,19 @@ Retrieve | project | string | Unique identifier for the project object. | | config | string | Name of the config object. | +**Optional Parameters** + +Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} + +| Name | Type| Description | +| :-------- | :----------| :----------| +| page | number | Page number | +| perPage | number | Items per page | **Return Type** -ConfigsGetResponse +ConfigLogsListResponse **Example Usage Code Snippet** ```Typescript @@ -718,26 +733,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configs.get('PROJECT_NAME', 'CONFIG_NAME'); + const result = await sdk.configLogs.list('PROJECT_NAME', 'CONFIG_NAME', { page: 1, perPage: 20 }); console.log(result); })(); ``` -### **delete** -Delete -- HTTP Method: DELETE -- Endpoint: /v3/configs/config +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/configs/config/logs/log **Required Parameters** -| input | object | Request body. | +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | +| log | string | Unique identifier for the log object. | **Return Type** -DeleteResponse +GetResponse **Example Usage Code Snippet** ```Typescript @@ -748,27 +767,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.delete(input); + const result = await sdk.configLogs.get('PROJECT_NAME', 'CONFIG_NAME', 'LOG_ID'); console.log(result); })(); ``` -### **clone** -Clone +### **rollback** +Rollback - HTTP Method: POST -- Endpoint: /v3/configs/config/clone +- Endpoint: /v3/configs/config/logs/log/rollback **Required Parameters** -| input | object | Request body. | +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | Unique identifier for the project object. | +| config | string | Name of the config object. | +| log | string | Unique identifier for the log object. | **Return Type** -CloneResponse +RollbackResponse **Example Usage Code Snippet** ```Typescript @@ -779,27 +801,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', name: 'NEW_CONFIG_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.clone(input); + const result = await sdk.configLogs.rollback('PROJECT_NAME', 'CONFIG_NAME', 'LOG_ID'); console.log(result); })(); ``` -### **lock** -Lock -- HTTP Method: POST -- Endpoint: /v3/configs/config/lock + +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/environments/environment **Required Parameters** -| input | object | Request body. | +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | The project's name | +| environment | string | The environment's slug | **Return Type** -LockResponse +EnvironmentsGetResponse **Example Usage Code Snippet** ```Typescript @@ -810,27 +835,29 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.lock(input); + const result = await sdk.environments.get('project', 'environment'); console.log(result); })(); ``` -### **unlock** -Unlock -- HTTP Method: POST -- Endpoint: /v3/configs/config/unlock +### **delete** +Delete +- HTTP Method: DELETE +- Endpoint: /v3/environments/environment **Required Parameters** -| input | object | Request body. | +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | The project's name | +| environment | string | The environment's slug | **Return Type** -UnlockResponse +Returns a dict object. **Example Usage Code Snippet** ```Typescript @@ -841,31 +868,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; - const result = await sdk.configs.unlock(input); + const result = await sdk.environments.delete('project', 'environment'); console.log(result); })(); ``` -### **addTrustedIp** -Add -- HTTP Method: POST -- Endpoint: /v3/configs/config/trusted_ips +### **rename** +Rename +- HTTP Method: PUT +- Endpoint: /v3/environments/environment **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | | -| config | string | | +| project | string | The project's name | +| environment | string | The environment's slug | | input | object | Request body. | **Return Type** -AddTrustedIpResponse +RenameResponse **Example Usage Code Snippet** ```Typescript @@ -876,30 +902,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { ip: 'ip' }; - const result = await sdk.configs.addTrustedIp(input, 'project', 'config'); + const input = { name: 'name', slug: 'slug' }; + const result = await sdk.environments.rename(input, 'project', 'environment'); console.log(result); })(); ``` -### **listTrustedIps** -List -- HTTP Method: GET -- Endpoint: /v3/configs/config/trusted_ips +### **create** +Create +- HTTP Method: POST +- Endpoint: /v3/environments **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | | -| config | string | | +| project | string | The project's name | +| input | object | Request body. | **Return Type** -ListTrustedIpsResponse +EnvironmentsCreateResponse **Example Usage Code Snippet** ```Typescript @@ -910,30 +936,29 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configs.listTrustedIps('project', 'config'); + const input = { name: 'name', slug: 'slug' }; + const result = await sdk.environments.create(input, 'project'); console.log(result); })(); ``` -### **deleteTrustedIp** -Delete -- HTTP Method: DELETE -- Endpoint: /v3/configs/config/trusted_ips +### **list** +List +- HTTP Method: GET +- Endpoint: /v3/environments **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | | -| config | string | | -| input | object | Request body. | +| project | string | The project's name | **Return Type** -Returns a dict object. +EnvironmentsListResponse **Example Usage Code Snippet** ```Typescript @@ -944,18 +969,17 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { ip: 'ip' }; - const result = await sdk.configs.deleteTrustedIp(input, 'project', 'config'); + const result = await sdk.environments.list('project'); console.log(result); })(); ``` -### **update** -Update +### **create** +Create - HTTP Method: POST -- Endpoint: /v3/configs/config/secrets +- Endpoint: /v3/configs **Required Parameters** @@ -965,7 +989,7 @@ Update **Return Type** -SecretsUpdateResponse +ConfigsCreateResponse **Example Usage Code Snippet** ```Typescript @@ -976,16 +1000,8 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { - config: 'CONFIG_NAME', - project: 'PROJECT_NAME', - secrets: { - ALGOLIA: 'N9TOPUCTO', - DATABASE: '${USER}@aws.dynamodb.com:9876', - STRIPE: 'sk_test_9YxLnoLDdvOPn2dfjBVPB', - }, - }; - const result = await sdk.secrets.update(input); + const input = { environment: 'ENVIRONMENT_ID', name: 'CONFIG_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.create(input); console.log(result); })(); @@ -994,14 +1010,13 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ### **list** List - HTTP Method: GET -- Endpoint: /v3/configs/config/secrets +- Endpoint: /v3/configs **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | +| project | string | The project's name | **Optional Parameters** @@ -1009,16 +1024,14 @@ Optional parameters are passed as part of the last parameter to the method. Ex. | Name | Type| Description | | :-------- | :----------| :----------| -| accepts | string | Available options are: **application/json**, **text/plain** | -| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | -| dynamicSecretsTtlSec | number | The number of seconds until dynamic leases expire. Must be used with `include_dynamic_secrets`. Defaults to 1800 (30 minutes). | -| secrets | string | A comma-separated list of secrets to include in the response | -| includeManagedSecrets | boolean | Whether to include Doppler's auto-generated (managed) secrets | +| environment | string | (optional) the environment from which to list configs | +| page | number | Page number | +| perPage | number | Items per page | **Return Type** -SecretsListResponse +ConfigsListResponse **Example Usage Code Snippet** ```Typescript @@ -1029,36 +1042,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.secrets.list('PROJECT_NAME', 'CONFIG_NAME', { - accepts: 'application/json', - includeDynamicSecrets: true, - dynamicSecretsTtlSec: 25735424, - secrets: 'secrets', - includeManagedSecrets: true, + const result = await sdk.configs.list('project', { + environment: 'Environment slug', + page: 1, + perPage: 20, }); console.log(result); })(); ``` -### **get** -Retrieve -- HTTP Method: GET -- Endpoint: /v3/configs/config/secret +### **update** +Update +- HTTP Method: POST +- Endpoint: /v3/configs/config **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | -| name | string | Name of the secret. | +| input | object | Request body. | **Return Type** -SecretsGetResponse +ConfigsUpdateResponse **Example Usage Code Snippet** ```Typescript @@ -1069,16 +1076,17 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.secrets.get('PROJECT_NAME', 'CONFIG_NAME', 'SECRET_NAME'); + const input = { config: 'CONFIG_NAME', name: 'CONFIG_NEW_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.update(input); console.log(result); })(); ``` -### **delete** -Delete -- HTTP Method: DELETE -- Endpoint: /v3/configs/config/secret +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/configs/config **Required Parameters** @@ -1086,13 +1094,12 @@ Delete | :-------- | :----------| :----------| | project | string | Unique identifier for the project object. | | config | string | Name of the config object. | -| name | string | Name of the secret. | **Return Type** -Returns a dict object. +ConfigsGetResponse **Example Usage Code Snippet** ```Typescript @@ -1103,39 +1110,26 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.secrets.delete('PROJECT_NAME', 'CONFIG_NAME', 'SECRET_NAME'); + const result = await sdk.configs.get('PROJECT_NAME', 'CONFIG_NAME'); console.log(result); })(); ``` -### **download** -Download -- HTTP Method: GET -- Endpoint: /v3/configs/config/secrets/download +### **delete** +Delete +- HTTP Method: DELETE +- Endpoint: /v3/configs/config **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. Not required if using a Service Token. | -| config | string | Name of the config object. Not required if using a Service Token. | - -**Optional Parameters** - -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +| input | object | Request body. | -| Name | Type| Description | -| :-------- | :----------| :----------| -| format | [Format](/src/models/README.md#format) | | -| nameTransformer | [NameTransformer](/src/models/README.md#nametransformer) | Transform secret names to a different case | -| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | -| dynamicSecretsTtlSec | number | The number of seconds until dynamic leases expire. Must be used with `include_dynamic_secrets`. Defaults to 1800 (30 minutes). | **Return Type** -DownloadResponse +DeleteResponse **Example Usage Code Snippet** ```Typescript @@ -1146,42 +1140,27 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.secrets.download('project', 'config', { - format: 'json', - nameTransformer: 'camel', - includeDynamicSecrets: true, - dynamicSecretsTtlSec: 1800, - }); + const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.delete(input); console.log(result); })(); ``` -### **names** -List Names -- HTTP Method: GET -- Endpoint: /v3/configs/config/secrets/names +### **clone** +Clone +- HTTP Method: POST +- Endpoint: /v3/configs/config/clone **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | +| input | object | Request body. | -**Optional Parameters** - -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} - -| Name | Type| Description | -| :-------- | :----------| :----------| -| includeDynamicSecrets | boolean | Whether or not to issue leases and include dynamic secret values for the config | -| includeManagedSecrets | boolean | Whether to include Doppler's auto-generated (managed) secrets | **Return Type** -NamesResponse +CloneResponse **Example Usage Code Snippet** ```Typescript @@ -1192,19 +1171,17 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.secrets.names('PROJECT_NAME', 'CONFIG_NAME', { - includeDynamicSecrets: true, - includeManagedSecrets: true, - }); + const input = { config: 'CONFIG_NAME', name: 'NEW_CONFIG_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.clone(input); console.log(result); })(); ``` -### **updateNote** -Update Note +### **lock** +Lock - HTTP Method: POST -- Endpoint: /v3/configs/config/secrets/note +- Endpoint: /v3/configs/config/lock **Required Parameters** @@ -1214,7 +1191,7 @@ Update Note **Return Type** -UpdateNoteResponse +LockResponse **Example Usage Code Snippet** ```Typescript @@ -1225,39 +1202,27 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { config: 'CONFIG_NAME', note: 'note', project: 'PROJECT_NAME', secret: 'secret' }; - const result = await sdk.secrets.updateNote(input); + const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.lock(input); console.log(result); })(); ``` - -### **list** -List -- HTTP Method: GET -- Endpoint: /v3/configs/config/logs +### **unlock** +Unlock +- HTTP Method: POST +- Endpoint: /v3/configs/config/unlock **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | - -**Optional Parameters** - -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +| input | object | Request body. | -| Name | Type| Description | -| :-------- | :----------| :----------| -| page | number | Page number | -| perPage | number | Items per page | **Return Type** -ConfigLogsListResponse +UnlockResponse **Example Usage Code Snippet** ```Typescript @@ -1268,30 +1233,31 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configLogs.list('PROJECT_NAME', 'CONFIG_NAME', { page: 1, perPage: 20 }); + const input = { config: 'CONFIG_NAME', project: 'PROJECT_NAME' }; + const result = await sdk.configs.unlock(input); console.log(result); })(); ``` -### **get** -Retrieve -- HTTP Method: GET -- Endpoint: /v3/configs/config/logs/log +### **addTrustedIp** +Add +- HTTP Method: POST +- Endpoint: /v3/configs/config/trusted_ips **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | -| log | string | Unique identifier for the log object. | +| project | string | | +| config | string | | +| input | object | Request body. | **Return Type** -ConfigLogsGetResponse +AddTrustedIpResponse **Example Usage Code Snippet** ```Typescript @@ -1302,30 +1268,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configLogs.get('PROJECT_NAME', 'CONFIG_NAME', 'LOG_ID'); + const input = { ip: 'ip' }; + const result = await sdk.configs.addTrustedIp(input, 'project', 'config'); console.log(result); })(); ``` -### **rollback** -Rollback -- HTTP Method: POST -- Endpoint: /v3/configs/config/logs/log/rollback +### **listTrustedIps** +List +- HTTP Method: GET +- Endpoint: /v3/configs/config/trusted_ips **Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| project | string | Unique identifier for the project object. | -| config | string | Name of the config object. | -| log | string | Unique identifier for the log object. | +| project | string | | +| config | string | | **Return Type** -RollbackResponse +ListTrustedIpsResponse **Example Usage Code Snippet** ```Typescript @@ -1336,27 +1302,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.configLogs.rollback('PROJECT_NAME', 'CONFIG_NAME', 'LOG_ID'); + const result = await sdk.configs.listTrustedIps('project', 'config'); console.log(result); })(); ``` - -### **update** -Update -- HTTP Method: POST -- Endpoint: /v3/workplace +### **deleteTrustedIp** +Delete +- HTTP Method: DELETE +- Endpoint: /v3/configs/config/trusted_ips **Required Parameters** +| Name | Type| Description | +| :-------- | :----------| :----------| +| project | string | | +| config | string | | | input | object | Request body. | **Return Type** -WorkplaceUpdateResponse +Returns a dict object. **Example Usage Code Snippet** ```Typescript @@ -1367,31 +1336,30 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { billing_email: 'billing_email', name: 'name' }; - const result = await sdk.workplace.update(input); + const input = { ip: 'ip' }; + const result = await sdk.configs.deleteTrustedIp(input, 'project', 'config'); console.log(result); })(); ``` -### **get** + +### **retrieve** Retrieve - HTTP Method: GET -- Endpoint: /v3/workplace - - -**Optional Parameters** +- Endpoint: /v3/logs/log -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} +**Required Parameters** | Name | Type| Description | | :-------- | :----------| :----------| -| settings | boolean | If true, the api will return more information if the workplace has e.g. SAML enabled and SCIM enabled | +| log | string | Unique identifier for the log object. | + **Return Type** -WorkplaceGetResponse +RetrieveResponse **Example Usage Code Snippet** ```Typescript @@ -1402,13 +1370,12 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.workplace.get({ settings: true }); + const result = await sdk.activityLogs.retrieve('LOG_ID'); console.log(result); })(); ``` - ### **list** List - HTTP Method: GET @@ -1444,22 +1411,21 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ``` -### **retrieve** -Retrieve -- HTTP Method: GET -- Endpoint: /v3/logs/log + +### **update** +Update +- HTTP Method: POST +- Endpoint: /v3/workplace **Required Parameters** -| Name | Type| Description | -| :-------- | :----------| :----------| -| log | string | Unique identifier for the log object. | +| input | object | Request body. | **Return Type** -RetrieveResponse +WorkplaceUpdateResponse **Example Usage Code Snippet** ```Typescript @@ -1470,7 +1436,33 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.activityLogs.retrieve('LOG_ID'); + const input = { billing_email: 'billing_email', name: 'name', security_email: 'security_email' }; + const result = await sdk.workplace.update(input); + console.log(result); +})(); + +``` + +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/workplace + + +**Return Type** + +WorkplaceGetResponse + +**Example Usage Code Snippet** +```Typescript +import { DopplerSDK } from './src'; + +const DOPPLERSDK_ACCESS_TOKEN = ''; + +const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); + +(async () => { + const result = await sdk.workplace.get(); console.log(result); })(); @@ -1504,7 +1496,7 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); const input = { access: 'read', config: 'CONFIG_NAME', - expire_at: '1926-02-24T15:16:51.0Z', + expire_at: '1927-01-04T13:49:20.0Z', name: 'TOKEN_NAME', project: 'PROJECT_NAME', }; @@ -1584,41 +1576,6 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ``` -### **getUsers** -Workplace Users -- HTTP Method: GET -- Endpoint: /v3/workplace/users - - -**Optional Parameters** - -Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} - -| Name | Type| Description | -| :-------- | :----------| :----------| -| settings | boolean | If true, the api will return more information if users have e.g. SAML enabled and/or Multi Factor Auth enabled | -| page | number | The page of users to fetch | - - -**Return Type** - -GetUsersResponse - -**Example Usage Code Snippet** -```Typescript -import { DopplerSDK } from './src'; - -const DOPPLERSDK_ACCESS_TOKEN = ''; - -const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); - -(async () => { - const result = await sdk.audit.getUsers({ settings: true, page: 1 }); - console.log(result); -})(); - -``` - ### **getUser** Workplace User - HTTP Method: GET @@ -1687,7 +1644,7 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); config: 'config', dynamic_secret: 'dynamic_secret', project: 'project', - ttl_sec: 64397939, + ttl_sec: -59680129, }; const result = await sdk.dynamicSecrets.issueLease(input); console.log(result); @@ -1763,6 +1720,31 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ``` +### **me** +Me +- HTTP Method: GET +- Endpoint: /v3/me + + +**Return Type** + +MeResponse + +**Example Usage Code Snippet** +```Typescript +import { DopplerSDK } from './src'; + +const DOPPLERSDK_ACCESS_TOKEN = ''; + +const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); + +(async () => { + const result = await sdk.auth.me(); + console.log(result); +})(); + +``` + ### **create** Create @@ -2024,32 +2006,6 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ``` -### **me** -Me -- HTTP Method: GET -- Endpoint: /v3/me - - -**Return Type** - -MeResponse - -**Example Usage Code Snippet** -```Typescript -import { DopplerSDK } from './src'; - -const DOPPLERSDK_ACCESS_TOKEN = ''; - -const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); - -(async () => { - const result = await sdk.v3.me(); - console.log(result); -})(); - -``` - - ### **create** Create - HTTP Method: POST @@ -2422,7 +2378,7 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { const input = { - environments: ['elit est', 'minim magna'], + environments: ['culpa cupidatat', 'elit Lorem proident aliquip'], role: 'role', slug: 'slug', type_: 'group', @@ -2501,7 +2457,7 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.projectMembers.get('project', 'workplace_user', 'slug'); + const result = await sdk.projectMembers.get('project', 'group', 'slug'); console.log(result); })(); @@ -2536,8 +2492,8 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const input = { environments: ['est ut', 'voluptate amet in consequat commodo'], role: 'role' }; - const result = await sdk.projectMembers.update(input, 'service_account', 'slug', 'project'); + const input = { environments: ['minim', 'irure'], role: 'role' }; + const result = await sdk.projectMembers.update(input, 'invite', 'slug', 'project'); console.log(result); })(); @@ -2571,7 +2527,7 @@ const DOPPLERSDK_ACCESS_TOKEN = ''; const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { - const result = await sdk.projectMembers.delete('group', 'slug', 'project'); + const result = await sdk.projectMembers.delete('service_account', 'slug', 'project'); console.log(result); })(); @@ -2640,7 +2596,10 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); (async () => { const input = { name: 'name', - workplace_role: { identifier: 'identifier', permissions: ['in ullamco commodo', 'labore in'] }, + workplace_role: { + identifier: 'identifier', + permissions: ['commodo ipsum fugiat', 'aute incididunt enim deserunt'], + }, }; const result = await sdk.serviceAccounts.create(input); console.log(result); @@ -2746,7 +2705,7 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); name: 'name', workplace_role: { identifier: 'identifier', - permissions: ['deserunt Ut sunt et ut', 'eu ea laborum consectetur'], + permissions: ['dolor pariatur officia', 'labore esse deserunt'], }, }; const result = await sdk.serviceAccounts.update(input, 'slug'); @@ -3021,5 +2980,72 @@ const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); ``` +### **list** +List +- HTTP Method: GET +- Endpoint: /v3/workplace/users + + +**Optional Parameters** + +Optional parameters are passed as part of the last parameter to the method. Ex. {optionalParam1 : 'value1', optionalParam2: 'value2'} + +| Name | Type| Description | +| :-------- | :----------| :----------| +| page | number | The page of users to fetch | + + +**Return Type** + +UsersListResponse + +**Example Usage Code Snippet** +```Typescript +import { DopplerSDK } from './src'; + +const DOPPLERSDK_ACCESS_TOKEN = ''; + +const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); + +(async () => { + const result = await sdk.users.list({ page: 1 }); + console.log(result); +})(); + +``` + +### **get** +Retrieve +- HTTP Method: GET +- Endpoint: /v3/workplace/users/{slug} + +**Required Parameters** + +| Name | Type| Description | +| :-------- | :----------| :----------| +| slug | string | The slug of the workplace user | + + + +**Return Type** + +UsersGetResponse + +**Example Usage Code Snippet** +```Typescript +import { DopplerSDK } from './src'; + +const DOPPLERSDK_ACCESS_TOKEN = ''; + +const sdk = new DopplerSDK({ accessToken: DOPPLERSDK_ACCESS_TOKEN }); + +(async () => { + const result = await sdk.users.get('slug'); + console.log(result); +})(); + +``` + + diff --git a/src/services/activityLogs/ActivityLogs.ts b/src/services/activityLogs/ActivityLogs.ts index fd7578a..30903ca 100644 --- a/src/services/activityLogs/ActivityLogs.ts +++ b/src/services/activityLogs/ActivityLogs.ts @@ -1,11 +1,40 @@ import BaseService from '../../BaseService'; -import { ActivityLogsListResponse } from './models/ActivityLogsListResponse'; import { RetrieveResponse } from './models/RetrieveResponse'; +import { ActivityLogsListResponse } from './models/ActivityLogsListResponse'; import { serializeQuery } from '../../http/QuerySerializer'; export class ActivityLogsService extends BaseService { + /** + * @summary Retrieve + * @description Activity Log + + * @param log Unique identifier for the log object. + * @returns {Promise} - The promise with the result + */ + async retrieve(log: string): Promise { + if (log === undefined) { + throw new Error('The following parameter is required: log, cannot be empty or blank'); + } + const queryParams: string[] = []; + if (log) { + queryParams.push(serializeQuery('form', true, 'log', log)); + } + const urlEndpoint = '/v3/logs/log'; + const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; + const response: any = await this.httpClient.get( + finalUrl, + {}, + { + ...this.getAuthorizationHeader(), + }, + true, + ); + const responseModel = response.data as RetrieveResponse; + return responseModel; + } + /** * @summary List * @description Activity Logs @@ -41,33 +70,4 @@ export class ActivityLogsService extends BaseService { const responseModel = response.data as ActivityLogsListResponse; return responseModel; } - - /** - * @summary Retrieve - * @description Activity Log - - * @param log Unique identifier for the log object. - * @returns {Promise} - The promise with the result - */ - async retrieve(log: string): Promise { - if (log === undefined) { - throw new Error('The following parameter is required: log, cannot be empty or blank'); - } - const queryParams: string[] = []; - if (log) { - queryParams.push(serializeQuery('form', true, 'log', log)); - } - const urlEndpoint = '/v3/logs/log'; - const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; - const response: any = await this.httpClient.get( - finalUrl, - {}, - { - ...this.getAuthorizationHeader(), - }, - true, - ); - const responseModel = response.data as RetrieveResponse; - return responseModel; - } } diff --git a/src/services/activityLogs/index.ts b/src/services/activityLogs/index.ts index bb64c77..3510168 100644 --- a/src/services/activityLogs/index.ts +++ b/src/services/activityLogs/index.ts @@ -1,2 +1,2 @@ -export type { ActivityLogsListResponse } from './models/ActivityLogsListResponse'; export type { RetrieveResponse } from './models/RetrieveResponse'; +export type { ActivityLogsListResponse } from './models/ActivityLogsListResponse'; diff --git a/src/services/audit/Audit.ts b/src/services/audit/Audit.ts index 09e1e5d..0cbd8ee 100644 --- a/src/services/audit/Audit.ts +++ b/src/services/audit/Audit.ts @@ -1,47 +1,10 @@ import BaseService from '../../BaseService'; -import { GetUsersResponse } from './models/GetUsersResponse'; import { GetUserResponse } from './models/GetUserResponse'; import { serializeQuery, serializePath } from '../../http/QuerySerializer'; export class AuditService extends BaseService { - /** - * @summary Workplace Users - * @description Get all users of a workplace - - * @param optionalParams - Optional parameters - * @param optionalParams.settings - If true, the api will return more information if users have e.g. SAML enabled and/or Multi Factor Auth enabled - * @param optionalParams.page - The page of users to fetch - * @returns {Promise} - The promise with the result - */ - async getUsers( - optionalParams: { settings?: boolean; page?: number } = {}, - ): Promise { - const { settings, page } = optionalParams; - - const queryParams: string[] = []; - if (settings) { - queryParams.push(serializeQuery('form', true, 'settings', settings)); - } - if (page) { - queryParams.push(serializeQuery('form', true, 'page', page)); - } - const urlEndpoint = '/v3/workplace/users'; - const urlParams = queryParams.length > 0 ? `?${encodeURI(queryParams.join('&'))}` : ''; - const finalUrl = `${this.baseUrl + urlEndpoint}${urlParams}`; - const response: any = await this.httpClient.get( - finalUrl, - {}, - { - ...this.getAuthorizationHeader(), - }, - true, - ); - const responseModel = response.data as GetUsersResponse; - return responseModel; - } - /** * @summary Workplace User * @description Get a specific user in a workplace diff --git a/src/services/audit/index.ts b/src/services/audit/index.ts index 115f5ac..da0049c 100644 --- a/src/services/audit/index.ts +++ b/src/services/audit/index.ts @@ -1,2 +1 @@ -export type { GetUsersResponse } from './models/GetUsersResponse'; export type { GetUserResponse } from './models/GetUserResponse'; diff --git a/src/services/auth/Auth.ts b/src/services/auth/Auth.ts index 0c195cb..a1b5b66 100644 --- a/src/services/auth/Auth.ts +++ b/src/services/auth/Auth.ts @@ -1,6 +1,7 @@ import BaseService from '../../BaseService'; import { RevokeRequest } from './models/RevokeRequest'; +import { MeResponse } from './models/MeResponse'; export class AuthService extends BaseService { /** @@ -25,4 +26,25 @@ export class AuthService extends BaseService { const responseModel = response.data; return responseModel; } + + /** + * @summary Me + * @description Get information about a token + + * @returns {Promise} - The promise with the result + */ + async me(): Promise { + const urlEndpoint = '/v3/me'; + const finalUrl = `${this.baseUrl + urlEndpoint}`; + const response: any = await this.httpClient.get( + finalUrl, + {}, + { + ...this.getAuthorizationHeader(), + }, + true, + ); + const responseModel = response.data as MeResponse; + return responseModel; + } } diff --git a/src/services/auth/index.ts b/src/services/auth/index.ts index 992ffd4..2823a59 100644 --- a/src/services/auth/index.ts +++ b/src/services/auth/index.ts @@ -1 +1,2 @@ +export type { MeResponse } from './models/MeResponse'; export type { RevokeRequest } from './models/RevokeRequest'; diff --git a/src/services/auth/models/MeResponse.ts b/src/services/auth/models/MeResponse.ts new file mode 100644 index 0000000..866cf9c --- /dev/null +++ b/src/services/auth/models/MeResponse.ts @@ -0,0 +1,13 @@ +export interface MeResponse { + slug?: string; + name?: string; + created_at?: string; + last_seen_at?: string; + token_preview?: string; + workplace?: Workplace; + type_?: string; +} +interface Workplace { + slug?: string; + name?: string; +} diff --git a/src/services/configLogs/ConfigLogs.ts b/src/services/configLogs/ConfigLogs.ts index c780c7a..2814dd5 100644 --- a/src/services/configLogs/ConfigLogs.ts +++ b/src/services/configLogs/ConfigLogs.ts @@ -1,7 +1,7 @@ import BaseService from '../../BaseService'; import { ConfigLogsListResponse } from './models/ConfigLogsListResponse'; -import { ConfigLogsGetResponse } from './models/ConfigLogsGetResponse'; +import { GetResponse } from './models/GetResponse'; import { RollbackResponse } from './models/RollbackResponse'; import { serializeQuery } from '../../http/QuerySerializer'; @@ -64,9 +64,9 @@ export class ConfigLogsService extends BaseService { * @param project Unique identifier for the project object. * @param config Name of the config object. * @param log Unique identifier for the log object. - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async get(project: string, config: string, log: string): Promise { + async get(project: string, config: string, log: string): Promise { if (project === undefined || config === undefined || log === undefined) { throw new Error( 'The following are required parameters: project,config,log, cannot be empty or blank', @@ -92,7 +92,7 @@ export class ConfigLogsService extends BaseService { }, true, ); - const responseModel = response.data as ConfigLogsGetResponse; + const responseModel = response.data as GetResponse; return responseModel; } diff --git a/src/services/configLogs/index.ts b/src/services/configLogs/index.ts index e681d34..113949c 100644 --- a/src/services/configLogs/index.ts +++ b/src/services/configLogs/index.ts @@ -1,3 +1,3 @@ export type { ConfigLogsListResponse } from './models/ConfigLogsListResponse'; -export type { ConfigLogsGetResponse } from './models/ConfigLogsGetResponse'; +export type { GetResponse } from './models/GetResponse'; export type { RollbackResponse } from './models/RollbackResponse'; diff --git a/src/services/configLogs/models/GetResponse.ts b/src/services/configLogs/models/GetResponse.ts new file mode 100644 index 0000000..be571b3 --- /dev/null +++ b/src/services/configLogs/models/GetResponse.ts @@ -0,0 +1,24 @@ +export interface GetResponse { + log?: Log; +} +interface Log { + id?: string; + text?: string; + html?: string; + diff?: { + name?: string; + added?: string; + }[]; + rollback?: boolean; + created_at?: string; + config?: string; + environment?: string; + project?: string; + user?: User; +} +interface User { + email?: string; + name?: string; + username?: string; + profile_image_url?: string; +} diff --git a/src/services/environments/Environments.ts b/src/services/environments/Environments.ts index fc4ce39..e89d497 100644 --- a/src/services/environments/Environments.ts +++ b/src/services/environments/Environments.ts @@ -1,31 +1,37 @@ import BaseService from '../../BaseService'; -import { EnvironmentsListResponse } from './models/EnvironmentsListResponse'; -import { EnvironmentsCreateResponse } from './models/EnvironmentsCreateResponse'; -import { EnvironmentsCreateRequest } from './models/EnvironmentsCreateRequest'; import { EnvironmentsGetResponse } from './models/EnvironmentsGetResponse'; import { RenameResponse } from './models/RenameResponse'; import { RenameRequest } from './models/RenameRequest'; +import { EnvironmentsListResponse } from './models/EnvironmentsListResponse'; +import { EnvironmentsCreateResponse } from './models/EnvironmentsCreateResponse'; +import { EnvironmentsCreateRequest } from './models/EnvironmentsCreateRequest'; import { serializeQuery } from '../../http/QuerySerializer'; export class EnvironmentsService extends BaseService { /** - * @summary List - * @description Environments + * @summary Retrieve + * @description Environment * @param project The project's name - * @returns {Promise} - The promise with the result + * @param environment The environment's slug + * @returns {Promise} - The promise with the result */ - async list(project: string): Promise { - if (project === undefined) { - throw new Error('The following parameter is required: project, cannot be empty or blank'); + async get(project: string, environment: string): Promise { + if (project === undefined || environment === undefined) { + throw new Error( + 'The following are required parameters: project,environment, cannot be empty or blank', + ); } const queryParams: string[] = []; if (project) { queryParams.push(serializeQuery('form', true, 'project', project)); } - const urlEndpoint = '/v3/environments'; + if (environment) { + queryParams.push(serializeQuery('form', true, 'environment', environment)); + } + const urlEndpoint = '/v3/environments/environment'; const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; const response: any = await this.httpClient.get( finalUrl, @@ -35,32 +41,39 @@ export class EnvironmentsService extends BaseService { }, true, ); - const responseModel = response.data as EnvironmentsListResponse; + const responseModel = response.data as EnvironmentsGetResponse; return responseModel; } /** - * @summary Create + * @summary Rename * @description Environment * @param project The project's name - * @returns {Promise} - The promise with the result + * @param environment The environment's slug + * @returns {Promise} - The promise with the result */ - async create( - input: EnvironmentsCreateRequest, + async rename( + input: RenameRequest, project: string, - ): Promise { - if (project === undefined) { - throw new Error('The following parameter is required: project, cannot be empty or blank'); + environment: string, + ): Promise { + if (project === undefined || environment === undefined) { + throw new Error( + 'The following are required parameters: project,environment, cannot be empty or blank', + ); } const queryParams: string[] = []; const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; if (project) { queryParams.push(serializeQuery('form', true, 'project', project)); } - const urlEndpoint = '/v3/environments'; + if (environment) { + queryParams.push(serializeQuery('form', true, 'environment', environment)); + } + const urlEndpoint = '/v3/environments/environment'; const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; - const response: any = await this.httpClient.post( + const response: any = await this.httpClient.put( finalUrl, input, { @@ -69,19 +82,19 @@ export class EnvironmentsService extends BaseService { }, true, ); - const responseModel = response.data as EnvironmentsCreateResponse; + const responseModel = response.data as RenameResponse; return responseModel; } /** - * @summary Retrieve + * @summary Delete * @description Environment * @param project The project's name * @param environment The environment's slug - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async get(project: string, environment: string): Promise { + async delete(project: string, environment: string): Promise { if (project === undefined || environment === undefined) { throw new Error( 'The following are required parameters: project,environment, cannot be empty or blank', @@ -96,91 +109,78 @@ export class EnvironmentsService extends BaseService { } const urlEndpoint = '/v3/environments/environment'; const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; - const response: any = await this.httpClient.get( + const response: any = await this.httpClient.delete( finalUrl, - {}, + { project, environment }, { ...this.getAuthorizationHeader(), }, true, ); - const responseModel = response.data as EnvironmentsGetResponse; + const responseModel = response.data; return responseModel; } /** - * @summary Rename - * @description Environment + * @summary List + * @description Environments * @param project The project's name - * @param environment The environment's slug - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async rename( - input: RenameRequest, - project: string, - environment: string, - ): Promise { - if (project === undefined || environment === undefined) { - throw new Error( - 'The following are required parameters: project,environment, cannot be empty or blank', - ); + async list(project: string): Promise { + if (project === undefined) { + throw new Error('The following parameter is required: project, cannot be empty or blank'); } const queryParams: string[] = []; - const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; if (project) { queryParams.push(serializeQuery('form', true, 'project', project)); } - if (environment) { - queryParams.push(serializeQuery('form', true, 'environment', environment)); - } - const urlEndpoint = '/v3/environments/environment'; + const urlEndpoint = '/v3/environments'; const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; - const response: any = await this.httpClient.put( + const response: any = await this.httpClient.get( finalUrl, - input, + {}, { - ...headers, ...this.getAuthorizationHeader(), }, true, ); - const responseModel = response.data as RenameResponse; + const responseModel = response.data as EnvironmentsListResponse; return responseModel; } /** - * @summary Delete + * @summary Create * @description Environment * @param project The project's name - * @param environment The environment's slug - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async delete(project: string, environment: string): Promise { - if (project === undefined || environment === undefined) { - throw new Error( - 'The following are required parameters: project,environment, cannot be empty or blank', - ); + async create( + input: EnvironmentsCreateRequest, + project: string, + ): Promise { + if (project === undefined) { + throw new Error('The following parameter is required: project, cannot be empty or blank'); } const queryParams: string[] = []; + const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; if (project) { queryParams.push(serializeQuery('form', true, 'project', project)); } - if (environment) { - queryParams.push(serializeQuery('form', true, 'environment', environment)); - } - const urlEndpoint = '/v3/environments/environment'; + const urlEndpoint = '/v3/environments'; const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; - const response: any = await this.httpClient.delete( + const response: any = await this.httpClient.post( finalUrl, - { project, environment }, + input, { + ...headers, ...this.getAuthorizationHeader(), }, true, ); - const responseModel = response.data; + const responseModel = response.data as EnvironmentsCreateResponse; return responseModel; } } diff --git a/src/services/environments/index.ts b/src/services/environments/index.ts index bf27376..256d17c 100644 --- a/src/services/environments/index.ts +++ b/src/services/environments/index.ts @@ -1,6 +1,6 @@ -export type { EnvironmentsListResponse } from './models/EnvironmentsListResponse'; -export type { EnvironmentsCreateResponse } from './models/EnvironmentsCreateResponse'; export type { EnvironmentsGetResponse } from './models/EnvironmentsGetResponse'; export type { RenameResponse } from './models/RenameResponse'; -export type { EnvironmentsCreateRequest } from './models/EnvironmentsCreateRequest'; +export type { EnvironmentsListResponse } from './models/EnvironmentsListResponse'; +export type { EnvironmentsCreateResponse } from './models/EnvironmentsCreateResponse'; export type { RenameRequest } from './models/RenameRequest'; +export type { EnvironmentsCreateRequest } from './models/EnvironmentsCreateRequest'; diff --git a/src/services/invites/models/InvitesListResponse.ts b/src/services/invites/models/InvitesListResponse.ts index 8b8160e..d0c5422 100644 --- a/src/services/invites/models/InvitesListResponse.ts +++ b/src/services/invites/models/InvitesListResponse.ts @@ -1,5 +1,3 @@ -type Permissions = unknown[]; - export interface InvitesListResponse { invites?: { slug?: string; @@ -10,7 +8,7 @@ export interface InvitesListResponse { } interface WorkplaceRole { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/projectRoles/models/ProjectRolesGetResponse.ts b/src/services/projectRoles/models/ProjectRolesGetResponse.ts index 0388e0b..2c7cbdb 100644 --- a/src/services/projectRoles/models/ProjectRolesGetResponse.ts +++ b/src/services/projectRoles/models/ProjectRolesGetResponse.ts @@ -1,11 +1,9 @@ -type Permissions = unknown[]; - export interface ProjectRolesGetResponse { role?: Role; } interface Role { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/projectRoles/models/ProjectRolesListResponse.ts b/src/services/projectRoles/models/ProjectRolesListResponse.ts index 0509036..fc7619a 100644 --- a/src/services/projectRoles/models/ProjectRolesListResponse.ts +++ b/src/services/projectRoles/models/ProjectRolesListResponse.ts @@ -1,9 +1,7 @@ -type Permissions = unknown[]; - export interface ProjectRolesListResponse { roles?: { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/projects/Projects.ts b/src/services/projects/Projects.ts index 5932d91..d2d18c3 100644 --- a/src/services/projects/Projects.ts +++ b/src/services/projects/Projects.ts @@ -1,33 +1,38 @@ import BaseService from '../../BaseService'; -import { GetResponse } from './models/GetResponse'; -import { UpdateResponse } from './models/UpdateResponse'; -import { UpdateRequest } from './models/UpdateRequest'; -import { DeleteRequest } from './models/DeleteRequest'; import { ListResponse } from './models/ListResponse'; import { CreateResponse } from './models/CreateResponse'; import { CreateRequest } from './models/CreateRequest'; +import { ProjectsGetResponse } from './models/ProjectsGetResponse'; +import { ProjectsUpdateResponse } from './models/ProjectsUpdateResponse'; +import { ProjectsUpdateRequest } from './models/ProjectsUpdateRequest'; +import { DeleteRequest } from './models/DeleteRequest'; import { serializeQuery } from '../../http/QuerySerializer'; export class ProjectsService extends BaseService { /** - * @summary Retrieve - * @description Project + * @summary List + * @description Projects - * @param project Unique identifier for the project object. - * @returns {Promise} - The promise with the result + * @param optionalParams - Optional parameters + * @param optionalParams.page - Page number + * @param optionalParams.perPage - Items per page + * @returns {Promise} - The promise with the result */ - async get(project: string): Promise { - if (project === undefined) { - throw new Error('The following parameter is required: project, cannot be empty or blank'); - } + async list(optionalParams: { page?: number; perPage?: number } = {}): Promise { + const { page, perPage } = optionalParams; + const queryParams: string[] = []; - if (project) { - queryParams.push(serializeQuery('form', true, 'project', project)); + if (page) { + queryParams.push(serializeQuery('form', true, 'page', page)); } - const urlEndpoint = '/v3/projects/project'; - const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; + if (perPage) { + queryParams.push(serializeQuery('form', true, 'per_page', perPage)); + } + const urlEndpoint = '/v3/projects'; + const urlParams = queryParams.length > 0 ? `?${encodeURI(queryParams.join('&'))}` : ''; + const finalUrl = `${this.baseUrl + urlEndpoint}${urlParams}`; const response: any = await this.httpClient.get( finalUrl, {}, @@ -36,19 +41,19 @@ export class ProjectsService extends BaseService { }, true, ); - const responseModel = response.data as GetResponse; + const responseModel = response.data as ListResponse; return responseModel; } /** - * @summary Update + * @summary Create * @description Project - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async update(input: UpdateRequest): Promise { + async create(input: CreateRequest): Promise { const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; - const urlEndpoint = '/v3/projects/project'; + const urlEndpoint = '/v3/projects'; const finalUrl = `${this.baseUrl + urlEndpoint}`; const response: any = await this.httpClient.post( finalUrl, @@ -59,78 +64,73 @@ export class ProjectsService extends BaseService { }, true, ); - const responseModel = response.data as UpdateResponse; + const responseModel = response.data as CreateResponse; return responseModel; } /** - * @summary Delete + * @summary Retrieve * @description Project - * @returns {Promise} - The promise with the result + * @param project Unique identifier for the project object. + * @returns {Promise} - The promise with the result */ - async delete(input: DeleteRequest): Promise { - const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; + async get(project: string): Promise { + if (project === undefined) { + throw new Error('The following parameter is required: project, cannot be empty or blank'); + } + const queryParams: string[] = []; + if (project) { + queryParams.push(serializeQuery('form', true, 'project', project)); + } const urlEndpoint = '/v3/projects/project'; - const finalUrl = `${this.baseUrl + urlEndpoint}`; - const response: any = await this.httpClient.delete( + const finalUrl = `${this.baseUrl + urlEndpoint}?${encodeURI(queryParams.join('&'))}`; + const response: any = await this.httpClient.get( finalUrl, - input, + {}, { - ...headers, ...this.getAuthorizationHeader(), }, true, ); - const responseModel = response.data; + const responseModel = response.data as ProjectsGetResponse; return responseModel; } /** - * @summary List - * @description Projects + * @summary Update + * @description Project - * @param optionalParams - Optional parameters - * @param optionalParams.page - Page number - * @param optionalParams.perPage - Items per page - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async list(optionalParams: { page?: number; perPage?: number } = {}): Promise { - const { page, perPage } = optionalParams; - - const queryParams: string[] = []; - if (page) { - queryParams.push(serializeQuery('form', true, 'page', page)); - } - if (perPage) { - queryParams.push(serializeQuery('form', true, 'per_page', perPage)); - } - const urlEndpoint = '/v3/projects'; - const urlParams = queryParams.length > 0 ? `?${encodeURI(queryParams.join('&'))}` : ''; - const finalUrl = `${this.baseUrl + urlEndpoint}${urlParams}`; - const response: any = await this.httpClient.get( + async update(input: ProjectsUpdateRequest): Promise { + const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; + const urlEndpoint = '/v3/projects/project'; + const finalUrl = `${this.baseUrl + urlEndpoint}`; + const response: any = await this.httpClient.post( finalUrl, - {}, + input, { + ...headers, ...this.getAuthorizationHeader(), }, true, ); - const responseModel = response.data as ListResponse; + const responseModel = response.data as ProjectsUpdateResponse; return responseModel; } /** - * @summary Create + * @summary Delete * @description Project - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async create(input: CreateRequest): Promise { + async delete(input: DeleteRequest): Promise { const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; - const urlEndpoint = '/v3/projects'; + const urlEndpoint = '/v3/projects/project'; const finalUrl = `${this.baseUrl + urlEndpoint}`; - const response: any = await this.httpClient.post( + const response: any = await this.httpClient.delete( finalUrl, input, { @@ -139,7 +139,7 @@ export class ProjectsService extends BaseService { }, true, ); - const responseModel = response.data as CreateResponse; + const responseModel = response.data; return responseModel; } } diff --git a/src/services/projects/index.ts b/src/services/projects/index.ts index efe9d72..ebe5404 100644 --- a/src/services/projects/index.ts +++ b/src/services/projects/index.ts @@ -1,7 +1,7 @@ -export type { GetResponse } from './models/GetResponse'; -export type { UpdateResponse } from './models/UpdateResponse'; export type { ListResponse } from './models/ListResponse'; export type { CreateResponse } from './models/CreateResponse'; -export type { UpdateRequest } from './models/UpdateRequest'; -export type { DeleteRequest } from './models/DeleteRequest'; +export type { ProjectsGetResponse } from './models/ProjectsGetResponse'; +export type { ProjectsUpdateResponse } from './models/ProjectsUpdateResponse'; export type { CreateRequest } from './models/CreateRequest'; +export type { ProjectsUpdateRequest } from './models/ProjectsUpdateRequest'; +export type { DeleteRequest } from './models/DeleteRequest'; diff --git a/src/services/projects/models/ProjectsGetResponse.ts b/src/services/projects/models/ProjectsGetResponse.ts new file mode 100644 index 0000000..17870ff --- /dev/null +++ b/src/services/projects/models/ProjectsGetResponse.ts @@ -0,0 +1,9 @@ +export interface ProjectsGetResponse { + project?: Project; +} +interface Project { + id?: string; + name?: string; + description?: string; + created_at?: string; +} diff --git a/src/services/projects/models/ProjectsUpdateRequest.ts b/src/services/projects/models/ProjectsUpdateRequest.ts new file mode 100644 index 0000000..2639c47 --- /dev/null +++ b/src/services/projects/models/ProjectsUpdateRequest.ts @@ -0,0 +1,14 @@ +export interface ProjectsUpdateRequest { + /** + * Unique identifier for the project object. + */ + project: string; + /** + * Name of the project. + */ + name: string; + /** + * Description of the project. + */ + description?: string; +} diff --git a/src/services/projects/models/ProjectsUpdateResponse.ts b/src/services/projects/models/ProjectsUpdateResponse.ts new file mode 100644 index 0000000..e422712 --- /dev/null +++ b/src/services/projects/models/ProjectsUpdateResponse.ts @@ -0,0 +1,9 @@ +export interface ProjectsUpdateResponse { + project?: Project; +} +interface Project { + id?: string; + name?: string; + description?: string; + created_at?: string; +} diff --git a/src/services/secrets/Secrets.ts b/src/services/secrets/Secrets.ts index 8bfeb8f..1cf6904 100644 --- a/src/services/secrets/Secrets.ts +++ b/src/services/secrets/Secrets.ts @@ -1,8 +1,8 @@ import BaseService from '../../BaseService'; import { SecretsListResponse } from './models/SecretsListResponse'; -import { SecretsUpdateResponse } from './models/SecretsUpdateResponse'; -import { SecretsUpdateRequest } from './models/SecretsUpdateRequest'; +import { UpdateResponse } from './models/UpdateResponse'; +import { UpdateRequest } from './models/UpdateRequest'; import { SecretsGetResponse } from './models/SecretsGetResponse'; import { Format } from './models/Format'; import { NameTransformer } from './models/NameTransformer'; @@ -95,9 +95,9 @@ export class SecretsService extends BaseService { * @summary Update * @description Secrets - * @returns {Promise} - The promise with the result + * @returns {Promise} - The promise with the result */ - async update(input: SecretsUpdateRequest): Promise { + async update(input: UpdateRequest): Promise { const headers: { [key: string]: string } = { 'Content-type': 'application/json' }; const urlEndpoint = '/v3/configs/config/secrets'; const finalUrl = `${this.baseUrl + urlEndpoint}`; @@ -110,7 +110,7 @@ export class SecretsService extends BaseService { }, true, ); - const responseModel = response.data as SecretsUpdateResponse; + const responseModel = response.data as UpdateResponse; return responseModel; } diff --git a/src/services/secrets/index.ts b/src/services/secrets/index.ts index f00f4aa..967d3b7 100644 --- a/src/services/secrets/index.ts +++ b/src/services/secrets/index.ts @@ -1,10 +1,10 @@ export type { Format } from './models/Format'; export type { NameTransformer } from './models/NameTransformer'; export type { SecretsListResponse } from './models/SecretsListResponse'; -export type { SecretsUpdateResponse } from './models/SecretsUpdateResponse'; +export type { UpdateResponse } from './models/UpdateResponse'; export type { SecretsGetResponse } from './models/SecretsGetResponse'; export type { DownloadResponse } from './models/DownloadResponse'; export type { NamesResponse } from './models/NamesResponse'; export type { UpdateNoteResponse } from './models/UpdateNoteResponse'; -export type { SecretsUpdateRequest } from './models/SecretsUpdateRequest'; +export type { UpdateRequest } from './models/UpdateRequest'; export type { UpdateNoteRequest } from './models/UpdateNoteRequest'; diff --git a/src/services/secrets/models/UpdateRequest.ts b/src/services/secrets/models/UpdateRequest.ts new file mode 100644 index 0000000..1ae300b --- /dev/null +++ b/src/services/secrets/models/UpdateRequest.ts @@ -0,0 +1,19 @@ +export interface UpdateRequest { + /** + * Unique identifier for the project object. + */ + project: string; + /** + * Name of the config object. + */ + config: string; + secrets: Secrets; +} +/** + * Object of secrets you would like to save to the config. Try it with the sample secrets below: + */ +interface Secrets { + STRIPE: string; + ALGOLIA?: string; + DATABASE?: string; +} diff --git a/src/services/secrets/models/UpdateResponse.ts b/src/services/secrets/models/UpdateResponse.ts new file mode 100644 index 0000000..e25bfb5 --- /dev/null +++ b/src/services/secrets/models/UpdateResponse.ts @@ -0,0 +1,23 @@ +export interface UpdateResponse { + secrets?: Secrets; +} +interface Secrets { + STRIPE?: Stripe; + ALGOLIA?: Algolia; + DATABASE?: Database; +} +interface Stripe { + raw?: string; + computed?: string; + note?: string; +} +interface Algolia { + raw?: string; + computed?: string; + note?: string; +} +interface Database { + raw?: string; + computed?: string; + note?: string; +} diff --git a/src/services/serviceAccounts/models/ServiceAccountsCreateResponse.ts b/src/services/serviceAccounts/models/ServiceAccountsCreateResponse.ts index 34ed190..415e034 100644 --- a/src/services/serviceAccounts/models/ServiceAccountsCreateResponse.ts +++ b/src/services/serviceAccounts/models/ServiceAccountsCreateResponse.ts @@ -1,5 +1,3 @@ -type Permissions = unknown[]; - export interface ServiceAccountsCreateResponse { service_account?: ServiceAccount; } @@ -11,7 +9,7 @@ interface ServiceAccount { } interface WorkplaceRole { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/serviceAccounts/models/ServiceAccountsGetResponse.ts b/src/services/serviceAccounts/models/ServiceAccountsGetResponse.ts index 716c419..9c05763 100644 --- a/src/services/serviceAccounts/models/ServiceAccountsGetResponse.ts +++ b/src/services/serviceAccounts/models/ServiceAccountsGetResponse.ts @@ -1,5 +1,3 @@ -type Permissions = unknown[]; - export interface ServiceAccountsGetResponse { service_account?: ServiceAccount; } @@ -11,7 +9,7 @@ interface ServiceAccount { } interface WorkplaceRole { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/serviceAccounts/models/ServiceAccountsListResponse.ts b/src/services/serviceAccounts/models/ServiceAccountsListResponse.ts index 9bdde3a..fc0b546 100644 --- a/src/services/serviceAccounts/models/ServiceAccountsListResponse.ts +++ b/src/services/serviceAccounts/models/ServiceAccountsListResponse.ts @@ -1,5 +1,3 @@ -type Permissions = unknown[]; - export interface ServiceAccountsListResponse { service_accounts?: { name?: string; @@ -10,7 +8,7 @@ export interface ServiceAccountsListResponse { } interface WorkplaceRole { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/users/Users.ts b/src/services/users/Users.ts new file mode 100644 index 0000000..2cece70 --- /dev/null +++ b/src/services/users/Users.ts @@ -0,0 +1,67 @@ +import BaseService from '../../BaseService'; + +import { UsersListResponse } from './models/UsersListResponse'; +import { UsersGetResponse } from './models/UsersGetResponse'; + +import { serializeQuery, serializePath } from '../../http/QuerySerializer'; + +export class UsersService extends BaseService { + /** + * @summary List + * @description Get all users within a workplace + + * @param optionalParams - Optional parameters + * @param optionalParams.page - The page of users to fetch + * @returns {Promise} - The promise with the result + */ + async list(optionalParams: { page?: number } = {}): Promise { + const { page } = optionalParams; + + const queryParams: string[] = []; + if (page) { + queryParams.push(serializeQuery('form', true, 'page', page)); + } + const urlEndpoint = '/v3/workplace/users'; + const urlParams = queryParams.length > 0 ? `?${encodeURI(queryParams.join('&'))}` : ''; + const finalUrl = `${this.baseUrl + urlEndpoint}${urlParams}`; + const response: any = await this.httpClient.get( + finalUrl, + {}, + { + ...this.getAuthorizationHeader(), + }, + true, + ); + const responseModel = response.data as UsersListResponse; + return responseModel; + } + + /** + * @summary Retrieve + * @description Get a specific user in a workplace + + * @param slug The slug of the workplace user + * @returns {Promise} - The promise with the result + */ + async get(slug: string): Promise { + if (slug === undefined) { + throw new Error('The following parameter is required: slug, cannot be empty or blank'); + } + let urlEndpoint = '/v3/workplace/users/{slug}'; + urlEndpoint = urlEndpoint.replace( + '{slug}', + encodeURIComponent(serializePath('simple', false, slug, undefined)), + ); + const finalUrl = `${this.baseUrl + urlEndpoint}`; + const response: any = await this.httpClient.get( + finalUrl, + {}, + { + ...this.getAuthorizationHeader(), + }, + true, + ); + const responseModel = response.data as UsersGetResponse; + return responseModel; + } +} diff --git a/src/services/users/index.ts b/src/services/users/index.ts new file mode 100644 index 0000000..b11a30c --- /dev/null +++ b/src/services/users/index.ts @@ -0,0 +1,2 @@ +export type { UsersListResponse } from './models/UsersListResponse'; +export type { UsersGetResponse } from './models/UsersGetResponse'; diff --git a/src/services/users/models/UsersGetResponse.ts b/src/services/users/models/UsersGetResponse.ts new file mode 100644 index 0000000..e306c12 --- /dev/null +++ b/src/services/users/models/UsersGetResponse.ts @@ -0,0 +1,16 @@ +export interface UsersGetResponse { + workplace_user?: WorkplaceUser; + success?: boolean; +} +interface WorkplaceUser { + id?: string; + access?: string; + created_at?: string; + user?: User; +} +interface User { + email?: string; + name?: string; + username?: string; + profile_image_url?: string; +} diff --git a/src/services/users/models/UsersListResponse.ts b/src/services/users/models/UsersListResponse.ts new file mode 100644 index 0000000..d61e28b --- /dev/null +++ b/src/services/users/models/UsersListResponse.ts @@ -0,0 +1,16 @@ +export interface UsersListResponse { + workplace_users?: { + id?: string; + access?: string; + created_at?: string; + user?: User; + }[]; + page?: number; + success?: boolean; +} +interface User { + email?: string; + name?: string; + username?: string; + profile_image_url?: string; +} diff --git a/src/services/workplace/Workplace.ts b/src/services/workplace/Workplace.ts index 38506e6..4429d87 100644 --- a/src/services/workplace/Workplace.ts +++ b/src/services/workplace/Workplace.ts @@ -4,27 +4,15 @@ import { WorkplaceGetResponse } from './models/WorkplaceGetResponse'; import { WorkplaceUpdateResponse } from './models/WorkplaceUpdateResponse'; import { WorkplaceUpdateRequest } from './models/WorkplaceUpdateRequest'; -import { serializeQuery } from '../../http/QuerySerializer'; - export class WorkplaceService extends BaseService { /** * @summary Retrieve - * @description Get information about the specific workplace - * @param optionalParams - Optional parameters - * @param optionalParams.settings - If true, the api will return more information if the workplace has e.g. SAML enabled and SCIM enabled * @returns {Promise} - The promise with the result */ - async get(optionalParams: { settings?: boolean } = {}): Promise { - const { settings } = optionalParams; - - const queryParams: string[] = []; - if (settings) { - queryParams.push(serializeQuery('form', true, 'settings', settings)); - } + async get(): Promise { const urlEndpoint = '/v3/workplace'; - const urlParams = queryParams.length > 0 ? `?${encodeURI(queryParams.join('&'))}` : ''; - const finalUrl = `${this.baseUrl + urlEndpoint}${urlParams}`; + const finalUrl = `${this.baseUrl + urlEndpoint}`; const response: any = await this.httpClient.get( finalUrl, {}, @@ -39,7 +27,6 @@ export class WorkplaceService extends BaseService { /** * @summary Update - * @description Workplace * @returns {Promise} - The promise with the result */ diff --git a/src/services/workplace/models/WorkplaceGetResponse.ts b/src/services/workplace/models/WorkplaceGetResponse.ts index 746a313..44e3952 100644 --- a/src/services/workplace/models/WorkplaceGetResponse.ts +++ b/src/services/workplace/models/WorkplaceGetResponse.ts @@ -1,11 +1,9 @@ export interface WorkplaceGetResponse { workplace?: Workplace; - success?: boolean; } interface Workplace { id?: string; name?: string; billing_email?: string; - saml_enabled?: boolean; - scim_enabled?: boolean; + security_email?: string; } diff --git a/src/services/workplace/models/WorkplaceUpdateRequest.ts b/src/services/workplace/models/WorkplaceUpdateRequest.ts index 8b91449..8601023 100644 --- a/src/services/workplace/models/WorkplaceUpdateRequest.ts +++ b/src/services/workplace/models/WorkplaceUpdateRequest.ts @@ -3,8 +3,6 @@ export interface WorkplaceUpdateRequest { * Workplace name */ name?: string; - /** - * Billing email we will send invoices to - */ billing_email?: string; + security_email?: string; } diff --git a/src/services/workplace/models/WorkplaceUpdateResponse.ts b/src/services/workplace/models/WorkplaceUpdateResponse.ts index 11d3fb2..591a249 100644 --- a/src/services/workplace/models/WorkplaceUpdateResponse.ts +++ b/src/services/workplace/models/WorkplaceUpdateResponse.ts @@ -5,4 +5,5 @@ interface Workplace { id?: string; name?: string; billing_email?: string; + security_email?: string; } diff --git a/src/services/workplaceRoles/models/WorkplaceRolesGetResponse.ts b/src/services/workplaceRoles/models/WorkplaceRolesGetResponse.ts index f448d3e..adc5a61 100644 --- a/src/services/workplaceRoles/models/WorkplaceRolesGetResponse.ts +++ b/src/services/workplaceRoles/models/WorkplaceRolesGetResponse.ts @@ -1,11 +1,9 @@ -type Permissions = unknown[]; - export interface WorkplaceRolesGetResponse { role?: Role; } interface Role { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/src/services/workplaceRoles/models/WorkplaceRolesListResponse.ts b/src/services/workplaceRoles/models/WorkplaceRolesListResponse.ts index d5432b4..2aea286 100644 --- a/src/services/workplaceRoles/models/WorkplaceRolesListResponse.ts +++ b/src/services/workplaceRoles/models/WorkplaceRolesListResponse.ts @@ -1,9 +1,7 @@ -type Permissions = unknown[]; - export interface WorkplaceRolesListResponse { roles?: { name?: string; - permissions?: Permissions; + permissions?: string[]; identifier?: string; created_at?: string; is_custom_role?: boolean; diff --git a/test/services/activityLogs/ActivityLogs.test.ts b/test/services/activityLogs/ActivityLogs.test.ts index 26b4a86..8252a9f 100644 --- a/test/services/activityLogs/ActivityLogs.test.ts +++ b/test/services/activityLogs/ActivityLogs.test.ts @@ -19,37 +19,39 @@ describe('test ActivityLogs', () => { nock.cleanAll(); }); - describe('test list', () => { - test('test api call', () => { - const scope = nock('https://api.doppler.com') - .get('/v3/logs?page=aperiam&per_page=6') - .reply(200, { data: {} }); - return sdk.activityLogs - .list({ page: 'aperiam', perPage: 6 }) - .then((r: any) => expect(r.data).toEqual({})); - }); - }); - describe('test retrieve', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/logs/log?log=iusto') + .get('/v3/logs/log?log=natus') .reply(200, { data: {} }); - return sdk.activityLogs.retrieve('iusto').then((r: any) => expect(r.data).toEqual({})); + return sdk.activityLogs.retrieve('natus').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/logs/log?log=optio') + .get('/v3/logs/log?log=quibusdam') .reply(200, { data: {} }); return expect(async () => await sdk.activityLogs.retrieve()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/logs/log?log=at') + .get('/v3/logs/log?log=exercitationem') .reply(404, { data: {} }); - return expect(async () => await sdk.activityLogs.retrieve('at')).rejects.toThrow(); + return expect( + async () => await sdk.activityLogs.retrieve('exercitationem'), + ).rejects.toThrow(); + }); + }); + + describe('test list', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/logs?page=aliquam&per_page=3') + .reply(200, { data: {} }); + return sdk.activityLogs + .list({ page: 'aliquam', perPage: 3 }) + .then((r: any) => expect(r.data).toEqual({})); }); }); }); diff --git a/test/services/audit/Audit.test.ts b/test/services/audit/Audit.test.ts index 7d7ebf9..59a2924 100644 --- a/test/services/audit/Audit.test.ts +++ b/test/services/audit/Audit.test.ts @@ -19,40 +19,29 @@ describe('test Audit', () => { nock.cleanAll(); }); - describe('test getUsers', () => { - test('test api call', () => { - const scope = nock('https://api.doppler.com') - .get('/v3/workplace/users?settings=true&page=3') - .reply(200, { data: {} }); - return sdk.audit - .getUsers({ settings: true, page: 3 }) - .then((r: any) => expect(r.data).toEqual({})); - }); - }); - describe('test getUser', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/users/7231984208?settings=true') + .get('/v3/workplace/users/6303399708?settings=true') .reply(200, { data: {} }); return sdk.audit - .getUser('7231984208', { settings: true }) + .getUser('6303399708', { settings: true }) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/users/2644244907?settings=true') + .get('/v3/workplace/users/9214526573?settings=true') .reply(200, { data: {} }); return expect(async () => await sdk.audit.getUser()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/users/3959720785?settings=true') + .get('/v3/workplace/users/6990925149?settings=true') .reply(404, { data: {} }); return expect( - async () => await sdk.audit.getUser('3959720785', { settings: true }), + async () => await sdk.audit.getUser('6990925149', { settings: true }), ).rejects.toThrow(); }); }); diff --git a/test/services/auth/Auth.test.ts b/test/services/auth/Auth.test.ts index c2b3a49..b64cde2 100644 --- a/test/services/auth/Auth.test.ts +++ b/test/services/auth/Auth.test.ts @@ -27,4 +27,11 @@ describe('test Auth', () => { return sdk.auth.revoke({}).then((r: any) => expect(r.data).toEqual({})); }); }); + + describe('test me', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com').get('/v3/me').reply(200, { data: {} }); + return sdk.auth.me().then((r: any) => expect(r.data).toEqual({})); + }); + }); }); diff --git a/test/services/configLogs/ConfigLogs.test.ts b/test/services/configLogs/ConfigLogs.test.ts index f3fb675..900e978 100644 --- a/test/services/configLogs/ConfigLogs.test.ts +++ b/test/services/configLogs/ConfigLogs.test.ts @@ -22,26 +22,26 @@ describe('test ConfigLogs', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs?project=vitae&config=voluptatum&page=7&per_page=6') + .get('/v3/configs/config/logs?project=esse&config=quaerat&page=4&per_page=6') .reply(200, { data: {} }); return sdk.configLogs - .list('vitae', 'voluptatum', { page: 7, perPage: 6 }) + .list('esse', 'quaerat', { page: 4, perPage: 6 }) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs?project=excepturi&config=officiis&page=7&per_page=1') + .get('/v3/configs/config/logs?project=ullam&config=nulla&page=9&per_page=8') .reply(200, { data: {} }); return expect(async () => await sdk.configLogs.list()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs?project=mollitia&config=voluptatibus&page=8&per_page=6') + .get('/v3/configs/config/logs?project=vitae&config=dolor&page=5&per_page=2') .reply(404, { data: {} }); return expect( - async () => await sdk.configLogs.list('mollitia', 'voluptatibus', { page: 8, perPage: 6 }), + async () => await sdk.configLogs.list('vitae', 'dolor', { page: 5, perPage: 2 }), ).rejects.toThrow(); }); }); @@ -49,53 +49,51 @@ describe('test ConfigLogs', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs/log?project=laudantium&config=perspiciatis&log=earum') + .get('/v3/configs/config/logs/log?project=modi&config=architecto&log=porro') .reply(200, { data: {} }); return sdk.configLogs - .get('laudantium', 'perspiciatis', 'earum') + .get('modi', 'architecto', 'porro') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs/log?project=fuga&config=molestias&log=ab') + .get('/v3/configs/config/logs/log?project=ut&config=perspiciatis&log=perferendis') .reply(200, { data: {} }); return expect(async () => await sdk.configLogs.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/logs/log?project=aut&config=voluptatum&log=rem') + .get('/v3/configs/config/logs/log?project=vel&config=in&log=sunt') .reply(404, { data: {} }); - return expect( - async () => await sdk.configLogs.get('aut', 'voluptatum', 'rem'), - ).rejects.toThrow(); + return expect(async () => await sdk.configLogs.get('vel', 'in', 'sunt')).rejects.toThrow(); }); }); describe('test rollback', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/logs/log/rollback?project=quasi&config=amet&log=occaecati') + .post('/v3/configs/config/logs/log/rollback?project=iusto&config=assumenda&log=incidunt') .reply(200, { data: {} }); return sdk.configLogs - .rollback('quasi', 'amet', 'occaecati') + .rollback('iusto', 'assumenda', 'incidunt') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/logs/log/rollback?project=neque&config=deleniti&log=tempora') + .post('/v3/configs/config/logs/log/rollback?project=mollitia&config=unde&log=occaecati') .reply(200, { data: {} }); return expect(async () => await sdk.configLogs.rollback()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/logs/log/rollback?project=iure&config=magnam&log=labore') + .post('/v3/configs/config/logs/log/rollback?project=ad&config=veritatis&log=molestias') .reply(404, { data: {} }); return expect( - async () => await sdk.configLogs.rollback('iure', 'magnam', 'labore'), + async () => await sdk.configLogs.rollback('ad', 'veritatis', 'molestias'), ).rejects.toThrow(); }); }); diff --git a/test/services/configs/Configs.test.ts b/test/services/configs/Configs.test.ts index 1c7523f..af78132 100644 --- a/test/services/configs/Configs.test.ts +++ b/test/services/configs/Configs.test.ts @@ -22,27 +22,27 @@ describe('test Configs', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs?project=tempore&environment=voluptate&page=5&per_page=6') + .get('/v3/configs?project=assumenda&environment=quibusdam&page=6&per_page=1') .reply(200, { data: {} }); return sdk.configs - .list('tempore', { environment: 'voluptate', page: 5, perPage: 6 }) + .list('assumenda', { environment: 'quibusdam', page: 6, perPage: 1 }) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs?project=aperiam&environment=possimus&page=4&per_page=4') + .get('/v3/configs?project=cum&environment=placeat&page=2&per_page=8') .reply(200, { data: {} }); return expect(async () => await sdk.configs.list()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs?project=vitae&environment=inventore&page=5&per_page=7') + .get('/v3/configs?project=beatae&environment=aliquid&page=8&per_page=4') .reply(404, { data: {} }); return expect( async () => - await sdk.configs.list('vitae', { environment: 'inventore', page: 5, perPage: 7 }), + await sdk.configs.list('beatae', { environment: 'aliquid', page: 8, perPage: 4 }), ).rejects.toThrow(); }); }); @@ -57,23 +57,23 @@ describe('test Configs', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config?project=odit&config=tempora') + .get('/v3/configs/config?project=alias&config=quod') .reply(200, { data: {} }); - return sdk.configs.get('odit', 'tempora').then((r: any) => expect(r.data).toEqual({})); + return sdk.configs.get('alias', 'quod').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config?project=rem&config=aliquid') + .get('/v3/configs/config?project=impedit&config=maxime') .reply(200, { data: {} }); return expect(async () => await sdk.configs.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config?project=qui&config=ratione') + .get('/v3/configs/config?project=ipsa&config=temporibus') .reply(404, { data: {} }); - return expect(async () => await sdk.configs.get('qui', 'ratione')).rejects.toThrow(); + return expect(async () => await sdk.configs.get('ipsa', 'temporibus')).rejects.toThrow(); }); }); @@ -125,26 +125,26 @@ describe('test Configs', () => { describe('test listTrustedIps', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/trusted_ips?project=commodi&config=perferendis') + .get('/v3/configs/config/trusted_ips?project=iure&config=quaerat') .reply(200, { data: {} }); return sdk.configs - .listTrustedIps('commodi', 'perferendis') + .listTrustedIps('iure', 'quaerat') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/trusted_ips?project=voluptates&config=consequuntur') + .get('/v3/configs/config/trusted_ips?project=possimus&config=itaque') .reply(200, { data: {} }); return expect(async () => await sdk.configs.listTrustedIps()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/trusted_ips?project=cupiditate&config=libero') + .get('/v3/configs/config/trusted_ips?project=laboriosam&config=porro') .reply(404, { data: {} }); return expect( - async () => await sdk.configs.listTrustedIps('cupiditate', 'libero'), + async () => await sdk.configs.listTrustedIps('laboriosam', 'porro'), ).rejects.toThrow(); }); }); @@ -152,26 +152,26 @@ describe('test Configs', () => { describe('test addTrustedIp', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/trusted_ips?project=expedita&config=illum') + .post('/v3/configs/config/trusted_ips?project=nisi&config=reprehenderit') .reply(200, { data: {} }); return sdk.configs - .addTrustedIp({}, 'expedita', 'illum') + .addTrustedIp({}, 'nisi', 'reprehenderit') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/trusted_ips?project=reprehenderit&config=ab') + .post('/v3/configs/config/trusted_ips?project=consectetur&config=alias') .reply(200, { data: {} }); return expect(async () => await sdk.configs.addTrustedIp()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/trusted_ips?project=similique&config=rem') + .post('/v3/configs/config/trusted_ips?project=perferendis&config=modi') .reply(404, { data: {} }); return expect( - async () => await sdk.configs.addTrustedIp({}, 'similique', 'rem'), + async () => await sdk.configs.addTrustedIp({}, 'perferendis', 'modi'), ).rejects.toThrow(); }); }); @@ -179,26 +179,26 @@ describe('test Configs', () => { describe('test deleteTrustedIp', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/trusted_ips?project=explicabo&config=adipisci') + .delete('/v3/configs/config/trusted_ips?project=fuga&config=explicabo') .reply(200, { data: {} }); return sdk.configs - .deleteTrustedIp({}, 'explicabo', 'adipisci') + .deleteTrustedIp({}, 'fuga', 'explicabo') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/trusted_ips?project=alias&config=quo') + .delete('/v3/configs/config/trusted_ips?project=minus&config=odit') .reply(200, { data: {} }); return expect(async () => await sdk.configs.deleteTrustedIp()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/trusted_ips?project=pariatur&config=illum') + .delete('/v3/configs/config/trusted_ips?project=maxime&config=possimus') .reply(404, { data: {} }); return expect( - async () => await sdk.configs.deleteTrustedIp({}, 'pariatur', 'illum'), + async () => await sdk.configs.deleteTrustedIp({}, 'maxime', 'possimus'), ).rejects.toThrow(); }); }); diff --git a/test/services/environments/Environments.test.ts b/test/services/environments/Environments.test.ts index dcbebbd..96900bd 100644 --- a/test/services/environments/Environments.test.ts +++ b/test/services/environments/Environments.test.ts @@ -19,126 +19,126 @@ describe('test Environments', () => { nock.cleanAll(); }); - describe('test list', () => { + describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments?project=possimus') + .get('/v3/environments/environment?project=impedit&environment=nobis') .reply(200, { data: {} }); - return sdk.environments.list('possimus').then((r: any) => expect(r.data).toEqual({})); + return sdk.environments.get('impedit', 'nobis').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments?project=nemo') + .get('/v3/environments/environment?project=quos&environment=ad') .reply(200, { data: {} }); - return expect(async () => await sdk.environments.list()).rejects.toThrow(); + return expect(async () => await sdk.environments.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments?project=officia') + .get('/v3/environments/environment?project=facilis&environment=voluptate') .reply(404, { data: {} }); - return expect(async () => await sdk.environments.list('officia')).rejects.toThrow(); + return expect( + async () => await sdk.environments.get('facilis', 'voluptate'), + ).rejects.toThrow(); }); }); - describe('test create', () => { + describe('test rename', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/environments?project=deleniti') + .put('/v3/environments/environment?project=magni&environment=totam') .reply(200, { data: {} }); - return sdk.environments.create({}, 'deleniti').then((r: any) => expect(r.data).toEqual({})); + return sdk.environments + .rename({}, 'magni', 'totam') + .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/environments?project=iure') + .put('/v3/environments/environment?project=hic&environment=odio') .reply(200, { data: {} }); - return expect(async () => await sdk.environments.create()).rejects.toThrow(); + return expect(async () => await sdk.environments.rename()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/environments?project=tempora') + .put('/v3/environments/environment?project=amet&environment=eaque') .reply(404, { data: {} }); - return expect(async () => await sdk.environments.create({}, 'tempora')).rejects.toThrow(); + return expect( + async () => await sdk.environments.rename({}, 'amet', 'eaque'), + ).rejects.toThrow(); }); }); - describe('test get', () => { + describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments/environment?project=dolorum&environment=voluptas') + .delete('/v3/environments/environment?project=at&environment=tempore') .reply(200, { data: {} }); - return sdk.environments - .get('dolorum', 'voluptas') - .then((r: any) => expect(r.data).toEqual({})); + return sdk.environments.delete('at', 'tempore').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments/environment?project=dolorum&environment=esse') + .delete('/v3/environments/environment?project=quod&environment=possimus') .reply(200, { data: {} }); - return expect(async () => await sdk.environments.get()).rejects.toThrow(); + return expect(async () => await sdk.environments.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/environments/environment?project=iusto&environment=nesciunt') + .delete('/v3/environments/environment?project=cupiditate&environment=dolor') .reply(404, { data: {} }); - return expect(async () => await sdk.environments.get('iusto', 'nesciunt')).rejects.toThrow(); + return expect( + async () => await sdk.environments.delete('cupiditate', 'dolor'), + ).rejects.toThrow(); }); }); - describe('test rename', () => { + describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .put('/v3/environments/environment?project=voluptatibus&environment=blanditiis') + .get('/v3/environments?project=voluptate') .reply(200, { data: {} }); - return sdk.environments - .rename({}, 'voluptatibus', 'blanditiis') - .then((r: any) => expect(r.data).toEqual({})); + return sdk.environments.list('voluptate').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .put('/v3/environments/environment?project=dicta&environment=reiciendis') + .get('/v3/environments?project=perspiciatis') .reply(200, { data: {} }); - return expect(async () => await sdk.environments.rename()).rejects.toThrow(); + return expect(async () => await sdk.environments.list()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .put('/v3/environments/environment?project=pariatur&environment=maxime') + .get('/v3/environments?project=provident') .reply(404, { data: {} }); - return expect( - async () => await sdk.environments.rename({}, 'pariatur', 'maxime'), - ).rejects.toThrow(); + return expect(async () => await sdk.environments.list('provident')).rejects.toThrow(); }); }); - describe('test delete', () => { + describe('test create', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/environments/environment?project=sunt&environment=rem') + .post('/v3/environments?project=placeat') .reply(200, { data: {} }); - return sdk.environments.delete('sunt', 'rem').then((r: any) => expect(r.data).toEqual({})); + return sdk.environments.create({}, 'placeat').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/environments/environment?project=mollitia&environment=at') + .post('/v3/environments?project=deserunt') .reply(200, { data: {} }); - return expect(async () => await sdk.environments.delete()).rejects.toThrow(); + return expect(async () => await sdk.environments.create()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/environments/environment?project=veniam&environment=facere') + .post('/v3/environments?project=eveniet') .reply(404, { data: {} }); - return expect( - async () => await sdk.environments.delete('veniam', 'facere'), - ).rejects.toThrow(); + return expect(async () => await sdk.environments.create({}, 'eveniet')).rejects.toThrow(); }); }); }); diff --git a/test/services/groups/Groups.test.ts b/test/services/groups/Groups.test.ts index 05795bf..3326a9c 100644 --- a/test/services/groups/Groups.test.ts +++ b/test/services/groups/Groups.test.ts @@ -22,9 +22,9 @@ describe('test Groups', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/groups?page=5&per_page=7') + .get('/v3/workplace/groups?page=3&per_page=7') .reply(200, { data: {} }); - return sdk.groups.list({ page: 5, perPage: 7 }).then((r: any) => expect(r.data).toEqual({})); + return sdk.groups.list({ page: 3, perPage: 7 }).then((r: any) => expect(r.data).toEqual({})); }); }); @@ -40,118 +40,118 @@ describe('test Groups', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/groups/group/adipisci') + .get('/v3/workplace/groups/group/consequuntur') .reply(200, { data: {} }); - return sdk.groups.get('adipisci').then((r: any) => expect(r.data).toEqual({})); + return sdk.groups.get('consequuntur').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/groups/group/aliquam') + .get('/v3/workplace/groups/group/assumenda') .reply(200, { data: {} }); return expect(async () => await sdk.groups.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/groups/group/repellat') + .get('/v3/workplace/groups/group/id') .reply(404, { data: {} }); - return expect(async () => await sdk.groups.get('repellat')).rejects.toThrow(); + return expect(async () => await sdk.groups.get('id')).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/asperiores') + .delete('/v3/workplace/groups/group/reiciendis') .reply(200, { data: {} }); - return sdk.groups.delete('asperiores').then((r: any) => expect(r.data).toEqual({})); + return sdk.groups.delete('reiciendis').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/quibusdam') + .delete('/v3/workplace/groups/group/velit') .reply(200, { data: {} }); return expect(async () => await sdk.groups.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/magni') + .delete('/v3/workplace/groups/group/laboriosam') .reply(404, { data: {} }); - return expect(async () => await sdk.groups.delete('magni')).rejects.toThrow(); + return expect(async () => await sdk.groups.delete('laboriosam')).rejects.toThrow(); }); }); describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/groups/group/reprehenderit') + .patch('/v3/workplace/groups/group/laborum') .reply(200, { data: {} }); - return sdk.groups.update({}, 'reprehenderit').then((r: any) => expect(r.data).toEqual({})); + return sdk.groups.update({}, 'laborum').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/groups/group/aperiam') + .patch('/v3/workplace/groups/group/perspiciatis') .reply(200, { data: {} }); return expect(async () => await sdk.groups.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/groups/group/rerum') + .patch('/v3/workplace/groups/group/eveniet') .reply(404, { data: {} }); - return expect(async () => await sdk.groups.update({}, 'rerum')).rejects.toThrow(); + return expect(async () => await sdk.groups.update({}, 'eveniet')).rejects.toThrow(); }); }); describe('test addMember', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/workplace/groups/group/nisi/members') + .post('/v3/workplace/groups/group/id/members') .reply(200, { data: {} }); - return sdk.groups.addMember({}, 'nisi').then((r: any) => expect(r.data).toEqual({})); + return sdk.groups.addMember({}, 'id').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/workplace/groups/group/porro/members') + .post('/v3/workplace/groups/group/cupiditate/members') .reply(200, { data: {} }); return expect(async () => await sdk.groups.addMember()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/workplace/groups/group/accusantium/members') + .post('/v3/workplace/groups/group/voluptates/members') .reply(404, { data: {} }); - return expect(async () => await sdk.groups.addMember({}, 'accusantium')).rejects.toThrow(); + return expect(async () => await sdk.groups.addMember({}, 'voluptates')).rejects.toThrow(); }); }); describe('test deleteMember', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/esse/members/%7Btype%7D/ipsam') + .delete('/v3/workplace/groups/group/incidunt/members/%7Btype%7D/ad') .reply(200, { data: {} }); return sdk.groups - .deleteMember('esse', 'perferendis', 'ipsam') + .deleteMember('incidunt', 'ut', 'ad') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/laborum/members/%7Btype%7D/impedit') + .delete('/v3/workplace/groups/group/distinctio/members/%7Btype%7D/facere') .reply(200, { data: {} }); return expect(async () => await sdk.groups.deleteMember()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/groups/group/numquam/members/%7Btype%7D/fugiat') + .delete('/v3/workplace/groups/group/natus/members/%7Btype%7D/qui') .reply(404, { data: {} }); return expect( - async () => await sdk.groups.deleteMember('numquam', 'sapiente', 'fugiat'), + async () => await sdk.groups.deleteMember('natus', 'magni', 'qui'), ).rejects.toThrow(); }); }); diff --git a/test/services/integrations/Integrations.test.ts b/test/services/integrations/Integrations.test.ts index 2381b36..bd6517c 100644 --- a/test/services/integrations/Integrations.test.ts +++ b/test/services/integrations/Integrations.test.ts @@ -40,69 +40,69 @@ describe('test Integrations', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/integrations/integration?integration=molestias') + .get('/v3/integrations/integration?integration=ipsa') .reply(200, { data: {} }); - return sdk.integrations.get('molestias').then((r: any) => expect(r.data).toEqual({})); + return sdk.integrations.get('ipsa').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/integrations/integration?integration=veniam') + .get('/v3/integrations/integration?integration=labore') .reply(200, { data: {} }); return expect(async () => await sdk.integrations.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/integrations/integration?integration=ipsam') + .get('/v3/integrations/integration?integration=tempora') .reply(404, { data: {} }); - return expect(async () => await sdk.integrations.get('ipsam')).rejects.toThrow(); + return expect(async () => await sdk.integrations.get('tempora')).rejects.toThrow(); }); }); describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .put('/v3/integrations/integration?integration=porro') + .put('/v3/integrations/integration?integration=soluta') .reply(200, { data: {} }); - return sdk.integrations.update({}, 'porro').then((r: any) => expect(r.data).toEqual({})); + return sdk.integrations.update({}, 'soluta').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .put('/v3/integrations/integration?integration=omnis') + .put('/v3/integrations/integration?integration=nam') .reply(200, { data: {} }); return expect(async () => await sdk.integrations.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .put('/v3/integrations/integration?integration=nulla') + .put('/v3/integrations/integration?integration=tempora') .reply(404, { data: {} }); - return expect(async () => await sdk.integrations.update({}, 'nulla')).rejects.toThrow(); + return expect(async () => await sdk.integrations.update({}, 'tempora')).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/integrations/integration?integration=neque') + .delete('/v3/integrations/integration?integration=deserunt') .reply(200, { data: {} }); - return sdk.integrations.delete('neque').then((r: any) => expect(r.data).toEqual({})); + return sdk.integrations.delete('deserunt').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/integrations/integration?integration=magnam') + .delete('/v3/integrations/integration?integration=eaque') .reply(200, { data: {} }); return expect(async () => await sdk.integrations.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/integrations/integration?integration=omnis') + .delete('/v3/integrations/integration?integration=modi') .reply(404, { data: {} }); - return expect(async () => await sdk.integrations.delete('omnis')).rejects.toThrow(); + return expect(async () => await sdk.integrations.delete('modi')).rejects.toThrow(); }); }); }); diff --git a/test/services/invites/Invites.test.ts b/test/services/invites/Invites.test.ts index e88b8b1..0fc7a8b 100644 --- a/test/services/invites/Invites.test.ts +++ b/test/services/invites/Invites.test.ts @@ -22,9 +22,9 @@ describe('test Invites', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/invites?page=2&per_page=1') + .get('/v3/workplace/invites?page=6&per_page=3') .reply(200, { data: {} }); - return sdk.invites.list({ page: 2, perPage: 1 }).then((r: any) => expect(r.data).toEqual({})); + return sdk.invites.list({ page: 6, perPage: 3 }).then((r: any) => expect(r.data).toEqual({})); }); }); }); diff --git a/test/services/projectMembers/ProjectMembers.test.ts b/test/services/projectMembers/ProjectMembers.test.ts index 8a78110..ab37f92 100644 --- a/test/services/projectMembers/ProjectMembers.test.ts +++ b/test/services/projectMembers/ProjectMembers.test.ts @@ -22,26 +22,26 @@ describe('test ProjectMembers', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members?project=ducimus&page=7&per_page=9') + .get('/v3/projects/project/members?project=ex&page=2&per_page=1') .reply(200, { data: {} }); return sdk.projectMembers - .list('ducimus', { page: 7, perPage: 9 }) + .list('ex', { page: 2, perPage: 1 }) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members?project=at&page=7&per_page=5') + .get('/v3/projects/project/members?project=error&page=9&per_page=4') .reply(200, { data: {} }); return expect(async () => await sdk.projectMembers.list()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members?project=deleniti&page=1&per_page=5') + .get('/v3/projects/project/members?project=suscipit&page=3&per_page=8') .reply(404, { data: {} }); return expect( - async () => await sdk.projectMembers.list('deleniti', { page: 1, perPage: 5 }), + async () => await sdk.projectMembers.list('suscipit', { page: 3, perPage: 8 }), ).rejects.toThrow(); }); }); @@ -49,49 +49,49 @@ describe('test ProjectMembers', () => { describe('test add', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/projects/project/members?project=accusantium') + .post('/v3/projects/project/members?project=repudiandae') .reply(200, { data: {} }); - return sdk.projectMembers.add({}, 'accusantium').then((r: any) => expect(r.data).toEqual({})); + return sdk.projectMembers.add({}, 'repudiandae').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/projects/project/members?project=natus') + .post('/v3/projects/project/members?project=ut') .reply(200, { data: {} }); return expect(async () => await sdk.projectMembers.add()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/projects/project/members?project=recusandae') + .post('/v3/projects/project/members?project=nulla') .reply(404, { data: {} }); - return expect(async () => await sdk.projectMembers.add({}, 'recusandae')).rejects.toThrow(); + return expect(async () => await sdk.projectMembers.add({}, 'nulla')).rejects.toThrow(); }); }); describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members/member/%7Btype%7D/veniam?project=dolores') + .get('/v3/projects/project/members/member/%7Btype%7D/officia?project=eligendi') .reply(200, { data: {} }); return sdk.projectMembers - .get('dolores', 'quibusdam', 'veniam') + .get('eligendi', 'molestias', 'officia') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members/member/%7Btype%7D/quibusdam?project=delectus') + .get('/v3/projects/project/members/member/%7Btype%7D/recusandae?project=nemo') .reply(200, { data: {} }); return expect(async () => await sdk.projectMembers.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project/members/member/%7Btype%7D/incidunt?project=explicabo') + .get('/v3/projects/project/members/member/%7Btype%7D/eaque?project=cumque') .reply(404, { data: {} }); return expect( - async () => await sdk.projectMembers.get('explicabo', 'eligendi', 'incidunt'), + async () => await sdk.projectMembers.get('cumque', 'esse', 'eaque'), ).rejects.toThrow(); }); }); @@ -99,26 +99,26 @@ describe('test ProjectMembers', () => { describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/project/members/member/%7Btype%7D/incidunt?project=non') + .delete('/v3/projects/project/members/member/%7Btype%7D/quam?project=sunt') .reply(200, { data: {} }); return sdk.projectMembers - .delete('quos', 'incidunt', 'non') + .delete('est', 'quam', 'sunt') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/project/members/member/%7Btype%7D/ullam?project=ipsum') + .delete('/v3/projects/project/members/member/%7Btype%7D/minima?project=ipsum') .reply(200, { data: {} }); return expect(async () => await sdk.projectMembers.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/project/members/member/%7Btype%7D/nam?project=quod') + .delete('/v3/projects/project/members/member/%7Btype%7D/incidunt?project=quidem') .reply(404, { data: {} }); return expect( - async () => await sdk.projectMembers.delete('doloribus', 'nam', 'quod'), + async () => await sdk.projectMembers.delete('repellat', 'incidunt', 'quidem'), ).rejects.toThrow(); }); }); @@ -126,26 +126,26 @@ describe('test ProjectMembers', () => { describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/project/members/member/%7Btype%7D/cupiditate?project=blanditiis') + .patch('/v3/projects/project/members/member/%7Btype%7D/molestias?project=magni') .reply(200, { data: {} }); return sdk.projectMembers - .update({}, 'nulla', 'cupiditate', 'blanditiis') + .update({}, 'at', 'molestias', 'magni') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/project/members/member/%7Btype%7D/officiis?project=ea') + .patch('/v3/projects/project/members/member/%7Btype%7D/accusantium?project=corporis') .reply(200, { data: {} }); return expect(async () => await sdk.projectMembers.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/project/members/member/%7Btype%7D/nesciunt?project=libero') + .patch('/v3/projects/project/members/member/%7Btype%7D/esse?project=harum') .reply(404, { data: {} }); return expect( - async () => await sdk.projectMembers.update({}, 'asperiores', 'nesciunt', 'libero'), + async () => await sdk.projectMembers.update({}, 'pariatur', 'esse', 'harum'), ).rejects.toThrow(); }); }); diff --git a/test/services/projectRoles/ProjectRoles.test.ts b/test/services/projectRoles/ProjectRoles.test.ts index 51c7ede..4c3883c 100644 --- a/test/services/projectRoles/ProjectRoles.test.ts +++ b/test/services/projectRoles/ProjectRoles.test.ts @@ -40,69 +40,69 @@ describe('test ProjectRoles', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/roles/role/explicabo') + .get('/v3/projects/roles/role/cumque') .reply(200, { data: {} }); - return sdk.projectRoles.get('explicabo').then((r: any) => expect(r.data).toEqual({})); + return sdk.projectRoles.get('cumque').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/roles/role/laudantium') + .get('/v3/projects/roles/role/magni') .reply(200, { data: {} }); return expect(async () => await sdk.projectRoles.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/roles/role/voluptates') + .get('/v3/projects/roles/role/amet') .reply(404, { data: {} }); - return expect(async () => await sdk.projectRoles.get('voluptates')).rejects.toThrow(); + return expect(async () => await sdk.projectRoles.get('amet')).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/roles/role/iste') + .delete('/v3/projects/roles/role/blanditiis') .reply(200, { data: {} }); - return sdk.projectRoles.delete('iste').then((r: any) => expect(r.data).toEqual({})); + return sdk.projectRoles.delete('blanditiis').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/roles/role/quasi') + .delete('/v3/projects/roles/role/explicabo') .reply(200, { data: {} }); return expect(async () => await sdk.projectRoles.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/projects/roles/role/fugiat') + .delete('/v3/projects/roles/role/labore') .reply(404, { data: {} }); - return expect(async () => await sdk.projectRoles.delete('fugiat')).rejects.toThrow(); + return expect(async () => await sdk.projectRoles.delete('labore')).rejects.toThrow(); }); }); describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/roles/role/in') + .patch('/v3/projects/roles/role/impedit') .reply(200, { data: {} }); - return sdk.projectRoles.update('in').then((r: any) => expect(r.data).toEqual({})); + return sdk.projectRoles.update('impedit').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/roles/role/blanditiis') + .patch('/v3/projects/roles/role/dolores') .reply(200, { data: {} }); return expect(async () => await sdk.projectRoles.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/projects/roles/role/reiciendis') + .patch('/v3/projects/roles/role/inventore') .reply(404, { data: {} }); - return expect(async () => await sdk.projectRoles.update('reiciendis')).rejects.toThrow(); + return expect(async () => await sdk.projectRoles.update('inventore')).rejects.toThrow(); }); }); diff --git a/test/services/projects/Projects.test.ts b/test/services/projects/Projects.test.ts index a0c41ec..f5b48c7 100644 --- a/test/services/projects/Projects.test.ts +++ b/test/services/projects/Projects.test.ts @@ -19,26 +19,44 @@ describe('test Projects', () => { nock.cleanAll(); }); + describe('test list', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/projects?page=8&per_page=4') + .reply(200, { data: {} }); + return sdk.projects + .list({ page: 8, perPage: 4 }) + .then((r: any) => expect(r.data).toEqual({})); + }); + }); + + describe('test create', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com').post('/v3/projects').reply(200, { data: {} }); + return sdk.projects.create({}).then((r: any) => expect(r.data).toEqual({})); + }); + }); + describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project?project=quam') + .get('/v3/projects/project?project=magnam') .reply(200, { data: {} }); - return sdk.projects.get('quam').then((r: any) => expect(r.data).toEqual({})); + return sdk.projects.get('magnam').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project?project=veniam') + .get('/v3/projects/project?project=nulla') .reply(200, { data: {} }); return expect(async () => await sdk.projects.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/projects/project?project=eaque') + .get('/v3/projects/project?project=vitae') .reply(404, { data: {} }); - return expect(async () => await sdk.projects.get('eaque')).rejects.toThrow(); + return expect(async () => await sdk.projects.get('vitae')).rejects.toThrow(); }); }); @@ -59,22 +77,4 @@ describe('test Projects', () => { return sdk.projects.delete({}).then((r: any) => expect(r.data).toEqual({})); }); }); - - describe('test list', () => { - test('test api call', () => { - const scope = nock('https://api.doppler.com') - .get('/v3/projects?page=1&per_page=4') - .reply(200, { data: {} }); - return sdk.projects - .list({ page: 1, perPage: 4 }) - .then((r: any) => expect(r.data).toEqual({})); - }); - }); - - describe('test create', () => { - test('test api call', () => { - const scope = nock('https://api.doppler.com').post('/v3/projects').reply(200, { data: {} }); - return sdk.projects.create({}).then((r: any) => expect(r.data).toEqual({})); - }); - }); }); diff --git a/test/services/secrets/Secrets.test.ts b/test/services/secrets/Secrets.test.ts index 3c1c43a..a723c08 100644 --- a/test/services/secrets/Secrets.test.ts +++ b/test/services/secrets/Secrets.test.ts @@ -23,15 +23,15 @@ describe('test Secrets', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets?project=praesentium&config=quis&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=5&secrets=unde&include_managed_secrets=true', + '/v3/configs/config/secrets?project=sapiente&config=suscipit&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=7&secrets=distinctio&include_managed_secrets=true', ) .reply(200, { data: {} }); return sdk.secrets - .list('praesentium', 'quis', { - accepts: 'labore', + .list('sapiente', 'suscipit', { + accepts: 'sunt', includeDynamicSecrets: true, - dynamicSecretsTtlSec: 5, - secrets: 'unde', + dynamicSecretsTtlSec: 7, + secrets: 'distinctio', includeManagedSecrets: true, }) .then((r: any) => expect(r.data).toEqual({})); @@ -40,7 +40,7 @@ describe('test Secrets', () => { test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets?project=tenetur&config=eos&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=9&secrets=accusamus&include_managed_secrets=true', + '/v3/configs/config/secrets?project=deleniti&config=adipisci&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=9&secrets=molestiae&include_managed_secrets=true', ) .reply(200, { data: {} }); return expect(async () => await sdk.secrets.list()).rejects.toThrow(); @@ -49,16 +49,16 @@ describe('test Secrets', () => { test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets?project=officiis&config=sapiente&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=7&secrets=fugit&include_managed_secrets=true', + '/v3/configs/config/secrets?project=eveniet&config=pariatur&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=8&secrets=quia&include_managed_secrets=true', ) .reply(404, { data: {} }); return expect( async () => - await sdk.secrets.list('officiis', 'sapiente', { - accepts: 'a', + await sdk.secrets.list('eveniet', 'pariatur', { + accepts: 'repellat', includeDynamicSecrets: true, - dynamicSecretsTtlSec: 7, - secrets: 'fugit', + dynamicSecretsTtlSec: 8, + secrets: 'quia', includeManagedSecrets: true, }), ).rejects.toThrow(); @@ -77,51 +77,53 @@ describe('test Secrets', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/secret?project=quis&config=quod&name=Shaylee') + .get('/v3/configs/config/secret?project=ipsum&config=iste&name=Roselyn') .reply(200, { data: {} }); return sdk.secrets - .get('quis', 'quod', 'Shaylee') + .get('ipsum', 'iste', 'Roselyn') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/secret?project=voluptatem&config=autem&name=Augusta') + .get('/v3/configs/config/secret?project=hic&config=in&name=Assunta') .reply(200, { data: {} }); return expect(async () => await sdk.secrets.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/secret?project=sed&config=quidem&name=Doug') + .get('/v3/configs/config/secret?project=quas&config=recusandae&name=Odell') .reply(404, { data: {} }); - return expect(async () => await sdk.secrets.get('sed', 'quidem', 'Doug')).rejects.toThrow(); + return expect( + async () => await sdk.secrets.get('quas', 'recusandae', 'Odell'), + ).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/secret?project=quae&config=animi&name=Evalyn') + .delete('/v3/configs/config/secret?project=repellendus&config=libero&name=Mack') .reply(200, { data: {} }); return sdk.secrets - .delete('quae', 'animi', 'Evalyn') + .delete('repellendus', 'libero', 'Mack') .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/secret?project=sequi&config=maxime&name=Orlando') + .delete('/v3/configs/config/secret?project=deserunt&config=soluta&name=Coralie') .reply(200, { data: {} }); return expect(async () => await sdk.secrets.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/configs/config/secret?project=temporibus&config=ut&name=Ena') + .delete('/v3/configs/config/secret?project=corrupti&config=nisi&name=Andres') .reply(404, { data: {} }); return expect( - async () => await sdk.secrets.delete('temporibus', 'ut', 'Ena'), + async () => await sdk.secrets.delete('corrupti', 'nisi', 'Andres'), ).rejects.toThrow(); }); }); @@ -130,15 +132,15 @@ describe('test Secrets', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/download?project=repellat&config=reiciendis&format=porro&name_transformer=Joaquin&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=8', + '/v3/configs/config/secrets/download?project=iusto&config=ullam&format=deleniti&name_transformer=Emory&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=3', ) .reply(200, { data: {} }); return sdk.secrets - .download('repellat', 'reiciendis', { - format: 'porro', - nameTransformer: 'Joaquin', + .download('iusto', 'ullam', { + format: 'deleniti', + nameTransformer: 'Emory', includeDynamicSecrets: true, - dynamicSecretsTtlSec: 8, + dynamicSecretsTtlSec: 3, }) .then((r: any) => expect(r.data).toEqual({})); }); @@ -146,7 +148,7 @@ describe('test Secrets', () => { test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/download?project=debitis&config=minima&format=necessitatibus&name_transformer=Brendon&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=1', + '/v3/configs/config/secrets/download?project=voluptate&config=consequuntur&format=culpa&name_transformer=Rhea&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=7', ) .reply(200, { data: {} }); return expect(async () => await sdk.secrets.download()).rejects.toThrow(); @@ -155,16 +157,16 @@ describe('test Secrets', () => { test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/download?project=eaque&config=impedit&format=incidunt&name_transformer=Malachi&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=1', + '/v3/configs/config/secrets/download?project=eveniet&config=aliquam&format=consequuntur&name_transformer=Luciano&include_dynamic_secrets=true&dynamic_secrets_ttl_sec=8', ) .reply(404, { data: {} }); return expect( async () => - await sdk.secrets.download('eaque', 'impedit', { - format: 'incidunt', - nameTransformer: 'Malachi', + await sdk.secrets.download('eveniet', 'aliquam', { + format: 'consequuntur', + nameTransformer: 'Luciano', includeDynamicSecrets: true, - dynamicSecretsTtlSec: 1, + dynamicSecretsTtlSec: 8, }), ).rejects.toThrow(); }); @@ -174,18 +176,18 @@ describe('test Secrets', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/names?project=saepe&config=deserunt&include_dynamic_secrets=true&include_managed_secrets=true', + '/v3/configs/config/secrets/names?project=quibusdam&config=ullam&include_dynamic_secrets=true&include_managed_secrets=true', ) .reply(200, { data: {} }); return sdk.secrets - .names('saepe', 'deserunt', { includeDynamicSecrets: true, includeManagedSecrets: true }) + .names('quibusdam', 'ullam', { includeDynamicSecrets: true, includeManagedSecrets: true }) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/names?project=deserunt&config=facere&include_dynamic_secrets=true&include_managed_secrets=true', + '/v3/configs/config/secrets/names?project=facilis&config=beatae&include_dynamic_secrets=true&include_managed_secrets=true', ) .reply(200, { data: {} }); return expect(async () => await sdk.secrets.names()).rejects.toThrow(); @@ -194,12 +196,12 @@ describe('test Secrets', () => { test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') .get( - '/v3/configs/config/secrets/names?project=saepe&config=saepe&include_dynamic_secrets=true&include_managed_secrets=true', + '/v3/configs/config/secrets/names?project=magni&config=voluptatem&include_dynamic_secrets=true&include_managed_secrets=true', ) .reply(404, { data: {} }); return expect( async () => - await sdk.secrets.names('saepe', 'saepe', { + await sdk.secrets.names('magni', 'voluptatem', { includeDynamicSecrets: true, includeManagedSecrets: true, }), diff --git a/test/services/serviceAccounts/ServiceAccounts.test.ts b/test/services/serviceAccounts/ServiceAccounts.test.ts index 4dd673d..ea3e12b 100644 --- a/test/services/serviceAccounts/ServiceAccounts.test.ts +++ b/test/services/serviceAccounts/ServiceAccounts.test.ts @@ -22,10 +22,10 @@ describe('test ServiceAccounts', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/service_accounts?page=2&per_page=6') + .get('/v3/workplace/service_accounts?page=7&per_page=2') .reply(200, { data: {} }); return sdk.serviceAccounts - .list({ page: 2, perPage: 6 }) + .list({ page: 7, perPage: 2 }) .then((r: any) => expect(r.data).toEqual({})); }); }); @@ -42,71 +42,69 @@ describe('test ServiceAccounts', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/service_accounts/service_account/accusamus') + .get('/v3/workplace/service_accounts/service_account/laudantium') .reply(200, { data: {} }); - return sdk.serviceAccounts.get('accusamus').then((r: any) => expect(r.data).toEqual({})); + return sdk.serviceAccounts.get('laudantium').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/service_accounts/service_account/perferendis') + .get('/v3/workplace/service_accounts/service_account/asperiores') .reply(200, { data: {} }); return expect(async () => await sdk.serviceAccounts.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/service_accounts/service_account/repellat') + .get('/v3/workplace/service_accounts/service_account/veritatis') .reply(404, { data: {} }); - return expect(async () => await sdk.serviceAccounts.get('repellat')).rejects.toThrow(); + return expect(async () => await sdk.serviceAccounts.get('veritatis')).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/service_accounts/service_account/nostrum') + .delete('/v3/workplace/service_accounts/service_account/nam') .reply(200, { data: {} }); - return sdk.serviceAccounts.delete('nostrum').then((r: any) => expect(r.data).toEqual({})); + return sdk.serviceAccounts.delete('nam').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/service_accounts/service_account/facere') + .delete('/v3/workplace/service_accounts/service_account/sapiente') .reply(200, { data: {} }); return expect(async () => await sdk.serviceAccounts.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/service_accounts/service_account/labore') + .delete('/v3/workplace/service_accounts/service_account/vel') .reply(404, { data: {} }); - return expect(async () => await sdk.serviceAccounts.delete('labore')).rejects.toThrow(); + return expect(async () => await sdk.serviceAccounts.delete('vel')).rejects.toThrow(); }); }); describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/service_accounts/service_account/blanditiis') + .patch('/v3/workplace/service_accounts/service_account/commodi') .reply(200, { data: {} }); - return sdk.serviceAccounts - .update({}, 'blanditiis') - .then((r: any) => expect(r.data).toEqual({})); + return sdk.serviceAccounts.update({}, 'commodi').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/service_accounts/service_account/officiis') + .patch('/v3/workplace/service_accounts/service_account/repellat') .reply(200, { data: {} }); return expect(async () => await sdk.serviceAccounts.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/service_accounts/service_account/ducimus') + .patch('/v3/workplace/service_accounts/service_account/omnis') .reply(404, { data: {} }); - return expect(async () => await sdk.serviceAccounts.update({}, 'ducimus')).rejects.toThrow(); + return expect(async () => await sdk.serviceAccounts.update({}, 'omnis')).rejects.toThrow(); }); }); }); diff --git a/test/services/serviceTokens/ServiceTokens.test.ts b/test/services/serviceTokens/ServiceTokens.test.ts index e944795..7460794 100644 --- a/test/services/serviceTokens/ServiceTokens.test.ts +++ b/test/services/serviceTokens/ServiceTokens.test.ts @@ -22,23 +22,27 @@ describe('test ServiceTokens', () => { describe('test list', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/tokens?project=numquam&config=nam') + .get('/v3/configs/config/tokens?project=numquam&config=dolor') .reply(200, { data: {} }); - return sdk.serviceTokens.list('numquam', 'nam').then((r: any) => expect(r.data).toEqual({})); + return sdk.serviceTokens + .list('numquam', 'dolor') + .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/tokens?project=sapiente&config=beatae') + .get('/v3/configs/config/tokens?project=quisquam&config=quas') .reply(200, { data: {} }); return expect(async () => await sdk.serviceTokens.list()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/tokens?project=est&config=minima') + .get('/v3/configs/config/tokens?project=illum&config=possimus') .reply(404, { data: {} }); - return expect(async () => await sdk.serviceTokens.list('est', 'minima')).rejects.toThrow(); + return expect( + async () => await sdk.serviceTokens.list('illum', 'possimus'), + ).rejects.toThrow(); }); }); diff --git a/test/services/syncs/Syncs.test.ts b/test/services/syncs/Syncs.test.ts index 6f8f311..691c07e 100644 --- a/test/services/syncs/Syncs.test.ts +++ b/test/services/syncs/Syncs.test.ts @@ -22,52 +22,48 @@ describe('test Syncs', () => { describe('test create', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/syncs?project=tenetur&config=voluptate') + .post('/v3/configs/config/syncs?project=qui&config=tempora') .reply(200, { data: {} }); - return sdk.syncs - .create({}, 'tenetur', 'voluptate') - .then((r: any) => expect(r.data).toEqual({})); + return sdk.syncs.create({}, 'qui', 'tempora').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/syncs?project=occaecati&config=necessitatibus') + .post('/v3/configs/config/syncs?project=voluptates&config=adipisci') .reply(200, { data: {} }); return expect(async () => await sdk.syncs.create()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .post('/v3/configs/config/syncs?project=ipsa&config=impedit') + .post('/v3/configs/config/syncs?project=consequuntur&config=quibusdam') .reply(404, { data: {} }); - return expect(async () => await sdk.syncs.create({}, 'ipsa', 'impedit')).rejects.toThrow(); + return expect( + async () => await sdk.syncs.create({}, 'consequuntur', 'quibusdam'), + ).rejects.toThrow(); }); }); describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/syncs/sync?project=illum&config=impedit&sync=consequatur') + .get('/v3/configs/config/syncs/sync?project=cum&config=modi&sync=eius') .reply(200, { data: {} }); - return sdk.syncs - .get('illum', 'impedit', 'consequatur') - .then((r: any) => expect(r.data).toEqual({})); + return sdk.syncs.get('cum', 'modi', 'eius').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/syncs/sync?project=itaque&config=a&sync=maxime') + .get('/v3/configs/config/syncs/sync?project=illo&config=ipsum&sync=in') .reply(200, { data: {} }); return expect(async () => await sdk.syncs.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/configs/config/syncs/sync?project=recusandae&config=suscipit&sync=accusantium') + .get('/v3/configs/config/syncs/sync?project=eos&config=laudantium&sync=modi') .reply(404, { data: {} }); - return expect( - async () => await sdk.syncs.get('recusandae', 'suscipit', 'accusantium'), - ).rejects.toThrow(); + return expect(async () => await sdk.syncs.get('eos', 'laudantium', 'modi')).rejects.toThrow(); }); }); @@ -75,18 +71,18 @@ describe('test Syncs', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') .delete( - '/v3/configs/config/syncs/sync?project=voluptatibus&config=magnam&sync=iste&delete_from_target=true', + '/v3/configs/config/syncs/sync?project=adipisci&config=minus&sync=quod&delete_from_target=true', ) .reply(200, { data: {} }); return sdk.syncs - .delete('voluptatibus', 'magnam', 'iste', true) + .delete('adipisci', 'minus', 'quod', true) .then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') .delete( - '/v3/configs/config/syncs/sync?project=blanditiis&config=neque&sync=repudiandae&delete_from_target=true', + '/v3/configs/config/syncs/sync?project=illo&config=architecto&sync=consequatur&delete_from_target=true', ) .reply(200, { data: {} }); return expect(async () => await sdk.syncs.delete()).rejects.toThrow(); @@ -95,11 +91,11 @@ describe('test Syncs', () => { test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') .delete( - '/v3/configs/config/syncs/sync?project=voluptatum&config=magni&sync=possimus&delete_from_target=true', + '/v3/configs/config/syncs/sync?project=illo&config=soluta&sync=consequuntur&delete_from_target=true', ) .reply(404, { data: {} }); return expect( - async () => await sdk.syncs.delete('voluptatum', 'magni', 'possimus', true), + async () => await sdk.syncs.delete('illo', 'soluta', 'consequuntur', true), ).rejects.toThrow(); }); }); diff --git a/test/services/users/Users.test.ts b/test/services/users/Users.test.ts new file mode 100644 index 0000000..8620ebb --- /dev/null +++ b/test/services/users/Users.test.ts @@ -0,0 +1,53 @@ +import nock from 'nock'; + +import { DopplerSDK } from '../../../src'; + +import { UsersService } from '../../../src/services/users/Users'; + +describe('test UsersService object', () => { + it('should be an object', () => { + expect(typeof UsersService).toBe('function'); + }); +}); + +describe('test Users', () => { + let sdk: any; + + beforeEach(() => { + sdk = new DopplerSDK({}); + + nock.cleanAll(); + }); + + describe('test list', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/workplace/users?page=2') + .reply(200, { data: {} }); + return sdk.users.list({ page: 2 }).then((r: any) => expect(r.data).toEqual({})); + }); + }); + + describe('test get', () => { + test('test api call', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/workplace/users/dignissimos') + .reply(200, { data: {} }); + return sdk.users.get('dignissimos').then((r: any) => expect(r.data).toEqual({})); + }); + + test('test will throw error if required fields missing', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/workplace/users/dolore') + .reply(200, { data: {} }); + return expect(async () => await sdk.users.get()).rejects.toThrow(); + }); + + test('test will throw error on a non-200 response', () => { + const scope = nock('https://api.doppler.com') + .get('/v3/workplace/users/labore') + .reply(404, { data: {} }); + return expect(async () => await sdk.users.get('labore')).rejects.toThrow(); + }); + }); +}); diff --git a/test/services/workplace/Workplace.test.ts b/test/services/workplace/Workplace.test.ts index 20d1822..ed12e69 100644 --- a/test/services/workplace/Workplace.test.ts +++ b/test/services/workplace/Workplace.test.ts @@ -21,10 +21,8 @@ describe('test Workplace', () => { describe('test get', () => { test('test api call', () => { - const scope = nock('https://api.doppler.com') - .get('/v3/workplace?settings=true') - .reply(200, { data: {} }); - return sdk.workplace.get({ settings: true }).then((r: any) => expect(r.data).toEqual({})); + const scope = nock('https://api.doppler.com').get('/v3/workplace').reply(200, { data: {} }); + return sdk.workplace.get().then((r: any) => expect(r.data).toEqual({})); }); }); diff --git a/test/services/workplaceRoles/WorkplaceRoles.test.ts b/test/services/workplaceRoles/WorkplaceRoles.test.ts index 70cd571..87bba9a 100644 --- a/test/services/workplaceRoles/WorkplaceRoles.test.ts +++ b/test/services/workplaceRoles/WorkplaceRoles.test.ts @@ -49,69 +49,69 @@ describe('test WorkplaceRoles', () => { describe('test get', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/roles/role/eaque') + .get('/v3/workplace/roles/role/ut') .reply(200, { data: {} }); - return sdk.workplaceRoles.get('eaque').then((r: any) => expect(r.data).toEqual({})); + return sdk.workplaceRoles.get('ut').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/roles/role/consectetur') + .get('/v3/workplace/roles/role/recusandae') .reply(200, { data: {} }); return expect(async () => await sdk.workplaceRoles.get()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .get('/v3/workplace/roles/role/culpa') + .get('/v3/workplace/roles/role/magni') .reply(404, { data: {} }); - return expect(async () => await sdk.workplaceRoles.get('culpa')).rejects.toThrow(); + return expect(async () => await sdk.workplaceRoles.get('magni')).rejects.toThrow(); }); }); describe('test delete', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/roles/role/quae') + .delete('/v3/workplace/roles/role/totam') .reply(200, { data: {} }); - return sdk.workplaceRoles.delete('quae').then((r: any) => expect(r.data).toEqual({})); + return sdk.workplaceRoles.delete('totam').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/roles/role/similique') + .delete('/v3/workplace/roles/role/molestiae') .reply(200, { data: {} }); return expect(async () => await sdk.workplaceRoles.delete()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .delete('/v3/workplace/roles/role/consequuntur') + .delete('/v3/workplace/roles/role/sunt') .reply(404, { data: {} }); - return expect(async () => await sdk.workplaceRoles.delete('consequuntur')).rejects.toThrow(); + return expect(async () => await sdk.workplaceRoles.delete('sunt')).rejects.toThrow(); }); }); describe('test update', () => { test('test api call', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/roles/role/aut') + .patch('/v3/workplace/roles/role/reiciendis') .reply(200, { data: {} }); - return sdk.workplaceRoles.update('aut').then((r: any) => expect(r.data).toEqual({})); + return sdk.workplaceRoles.update('reiciendis').then((r: any) => expect(r.data).toEqual({})); }); test('test will throw error if required fields missing', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/roles/role/soluta') + .patch('/v3/workplace/roles/role/voluptate') .reply(200, { data: {} }); return expect(async () => await sdk.workplaceRoles.update()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('https://api.doppler.com') - .patch('/v3/workplace/roles/role/nisi') + .patch('/v3/workplace/roles/role/amet') .reply(404, { data: {} }); - return expect(async () => await sdk.workplaceRoles.update('nisi')).rejects.toThrow(); + return expect(async () => await sdk.workplaceRoles.update('amet')).rejects.toThrow(); }); }); });