diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 92fb5c07c2..753f009523 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,6 +1,5 @@ -name: CI - -on: [push] +name: ci +on: push jobs: build: @@ -17,7 +16,7 @@ jobs: uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - - run: npm ci + - run: npm ci --force - name: Create .env file run: | touch .env diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index de3806f3a9..6e325c0e81 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,7 +13,7 @@ jobs: node-version: 16 registry-url: https://registry.npmjs.org/ - name: Install dependencies - run: npm ci + run: npm ci --force - name: Create .env file run: | touch .env diff --git a/package-lock.json b/package-lock.json index ab2ffa98b5..958997b952 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "axios": "^1.4.0", "form-data": "^4.0.0", "oauth": "^0.10.0", - "tslib": "^2.5.0" + "tslib": "^2.5.2" }, "devDependencies": { "@swc-node/register": "^1.6.5", @@ -21,29 +21,29 @@ "@types/express": "^4.17.17", "@types/node": "^10.17.60", "@types/oauth": "^0.9.1", - "@types/sinon": "^10.0.14", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "ava": "^5.2.0", - "dotenv": "^16.0.3", - "eslint": "^8.40.0", + "@types/sinon": "^10.0.15", + "@typescript-eslint/eslint-plugin": "^5.59.8", + "@typescript-eslint/parser": "^5.59.8", + "ava": "^5.3.0", + "dotenv": "^16.1.3", + "eslint": "^8.41.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.5", "eslint-plugin-import": "^2.27.5", "prettier": "^2.8.8", "prettier-plugin-jsdoc": "^0.4.2", - "sinon": "^15.0.4", + "sinon": "^15.1.0", "ts-node": "^10.9.1", - "typedoc": "^0.24.6", + "typedoc": "^0.24.7", "typedoc-plugin-extras": "^2.3.3", - "typescript": "^5.0.4" + "typescript": "^5.1.3" } }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", + "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", "dev": true, "peer": true, "dependencies": { @@ -113,18 +113,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", - "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", + "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -215,9 +215,9 @@ } }, "node_modules/@pkgr/utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.0.tgz", - "integrity": "sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.1.tgz", + "integrity": "sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -244,21 +244,12 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "dependencies": { - "@sinonjs/commons": "^2.0.0" - } - }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "@sinonjs/commons": "^3.0.0" } }, "node_modules/@sinonjs/samsam": { @@ -336,9 +327,9 @@ } }, "node_modules/@swc/core": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.56.tgz", - "integrity": "sha512-yz/EeXT+PMZucUNrYceRUaTfuNS4IIu5EDZSOlvCEvm4jAmZi7CYH1B/kvzEzoAOzr7zkQiDPNJftcQXLkjbjA==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.61.tgz", + "integrity": "sha512-p58Ltdjo7Yy8CU3zK0cp4/eAgy5qkHs35znGedqVGPiA67cuYZM63DuTfmyrOntMRwQnaFkMLklDAPCizDdDng==", "dev": true, "hasInstallScript": true, "peer": true, @@ -350,16 +341,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.56", - "@swc/core-darwin-x64": "1.3.56", - "@swc/core-linux-arm-gnueabihf": "1.3.56", - "@swc/core-linux-arm64-gnu": "1.3.56", - "@swc/core-linux-arm64-musl": "1.3.56", - "@swc/core-linux-x64-gnu": "1.3.56", - "@swc/core-linux-x64-musl": "1.3.56", - "@swc/core-win32-arm64-msvc": "1.3.56", - "@swc/core-win32-ia32-msvc": "1.3.56", - "@swc/core-win32-x64-msvc": "1.3.56" + "@swc/core-darwin-arm64": "1.3.61", + "@swc/core-darwin-x64": "1.3.61", + "@swc/core-linux-arm-gnueabihf": "1.3.61", + "@swc/core-linux-arm64-gnu": "1.3.61", + "@swc/core-linux-arm64-musl": "1.3.61", + "@swc/core-linux-x64-gnu": "1.3.61", + "@swc/core-linux-x64-musl": "1.3.61", + "@swc/core-win32-arm64-msvc": "1.3.61", + "@swc/core-win32-ia32-msvc": "1.3.61", + "@swc/core-win32-x64-msvc": "1.3.61" }, "peerDependencies": { "@swc/helpers": "^0.5.0" @@ -371,9 +362,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.56.tgz", - "integrity": "sha512-DZcu7BzDaLEdWHabz9DRTP0yEBLqkrWmskFcD5BX0lGAvoIvE4duMnAqi5F2B3X7630QioHRCYFoRw2WkeE3Cw==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.61.tgz", + "integrity": "sha512-Ra1CZIYYyIp/Y64VcKyaLjIPUwT83JmGduvHu8vhUZOvWV4dWL4s5DrcxQVaQJjjb7Z2N/IUYYS55US1TGnxZw==", "cpu": [ "arm64" ], @@ -388,9 +379,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.56.tgz", - "integrity": "sha512-VH5saqYFasdRXJy6RAT+MXm0+IjkMZvOkohJwUei+oA65cKJofQwrJ1jZro8yOJFYvUSI3jgNRGsdBkmo/4hMw==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.61.tgz", + "integrity": "sha512-LUia75UByUFkYH1Ddw7IE0X9usNVGJ7aL6+cgOTju7P0dsU0f8h/OGc/GDfp1E4qnKxDCJE+GwDRLoi4SjIxpg==", "cpu": [ "x64" ], @@ -405,9 +396,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.56.tgz", - "integrity": "sha512-LWwPo6NnJkH01+ukqvkoNIOpMdw+Zundm4vBeicwyVrkP+mC3kwVfi03TUFpQUz3kRKdw/QEnxGTj+MouCPbtw==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.61.tgz", + "integrity": "sha512-aalPlicYxHAn2PxNlo3JFEZkMXzCtUwjP27AgMqnfV4cSz7Omo56OtC+413e/kGyCH86Er9gJRQQsxNKP8Qbsg==", "cpu": [ "arm" ], @@ -422,9 +413,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.56.tgz", - "integrity": "sha512-GzsUy/4egJ4cMlxbM+Ub7AMi5CKAc+pxBxrh8MUPQbyStW8jGgnQsJouTnGy0LHawtdEnsCOl6PcO6OgvktXuQ==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.61.tgz", + "integrity": "sha512-9hGdsbQrYNPo1c7YzWF57yl17bsIuuEQi3I1fOFSv3puL3l5M/C/oCD0Bz6IdKh6mEDC5UNJE4LWtV1gFA995A==", "cpu": [ "arm64" ], @@ -439,9 +430,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.56.tgz", - "integrity": "sha512-9gxL09BIiAv8zY0DjfnFf19bo8+P4T9tdhzPwcm+1yPJcY5yr1+YFWLNFzz01agtOj6VlZ2/wUJTaOfdjjtc+A==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.61.tgz", + "integrity": "sha512-mVmcNfFQRP4SYbGC08IPB3B9Xox+VpGIQqA3Qg7LMCcejLAQLi4Lfe8CDvvBPlQzXHso0Cv+BicJnQVKs8JLOA==", "cpu": [ "arm64" ], @@ -456,9 +447,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.56.tgz", - "integrity": "sha512-n0ORNknl50vMRkll3BDO1E4WOqY6iISlPV1ZQCRLWQ6YQ2q8/WAryBxc2OAybcGHBUFkxyACpJukeU1QZ/9tNw==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.61.tgz", + "integrity": "sha512-ZkRHs7GEikN6JiVL1/stvq9BVHKrSKoRn9ulVK2hMr+mAGNOKm3Y06NSzOO+BWwMaFOgnO2dWlszCUICsQ0kpg==", "cpu": [ "x64" ], @@ -473,9 +464,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.56.tgz", - "integrity": "sha512-r+D34WLAOAlJtfw1gaVWpHRwCncU9nzW9i7w9kSw4HpWYnHJOz54jLGSEmNsrhdTCz1VK2ar+V2ktFUsrlGlDA==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.61.tgz", + "integrity": "sha512-zK7VqQ5JlK20+7fxI4AgvIUckeZyX0XIbliGXNMR3i+39SJq1vs9scYEmq8VnAfvNdMU5BG+DewbFJlMfCtkxQ==", "cpu": [ "x64" ], @@ -490,9 +481,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.56.tgz", - "integrity": "sha512-29Yt75Is6X24z3x8h/xZC1HnDPkPpyLH9mDQiM6Cuc0I9mVr1XSriPEUB2N/awf5IE4SA8c+3IVq1DtKWbkJIw==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.61.tgz", + "integrity": "sha512-e9kVVPk5iVNhO41TvLvcExDHn5iATQ5/M4U7/CdcC7s0fK19TKSEUqkdoTLIJvHBFhgR7w3JJSErfnauO0xXoA==", "cpu": [ "arm64" ], @@ -507,9 +498,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.56.tgz", - "integrity": "sha512-mplp0zbYDrcHtfvkniXlXdB04e2qIjz2Gq/XHKr4Rnc6xVORJjjXF91IemXKpavx2oZYJws+LNJL7UFQ8jyCdQ==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.61.tgz", + "integrity": "sha512-7cJULfa6HvKqvFh6M/f7mKiNRhE2AjgFUCZfdOuy5r8vbtpk+qBK94TXwaDjJYDUGKzDVZw/tJ1eN4Y9n9Ls/Q==", "cpu": [ "ia32" ], @@ -524,9 +515,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.56", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.56.tgz", - "integrity": "sha512-zp8MBnrw/bjdLenO/ifYzHrImSjKunqL0C2IF4LXYNRfcbYFh2NwobsVQMZ20IT0474lKRdlP8Oxdt+bHuXrzA==", + "version": "1.3.61", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.61.tgz", + "integrity": "sha512-Jx8S+21WcKF/wlhW+sYpystWUyymDTEsbBpOgBRpXZelakVcNBCIIYSZOKW/A9PwWTpu6S8yvbs9nUOzKiVPqA==", "cpu": [ "x64" ], @@ -568,9 +559,9 @@ "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, "node_modules/@types/body-parser": { @@ -593,9 +584,9 @@ } }, "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", "dev": true, "dependencies": { "@types/ms": "*" @@ -614,9 +605,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.34", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", - "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, "dependencies": { "@types/node": "*", @@ -626,9 +617,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "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==", "dev": true }, "node_modules/@types/json5": { @@ -686,9 +677,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "node_modules/@types/send": { @@ -712,9 +703,9 @@ } }, "node_modules/@types/sinon": { - "version": "10.0.14", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.14.tgz", - "integrity": "sha512-mn72up6cjaMyMuaPaa/AwKf6WtsSRysQC7wxFkCm1XcOKXPM1z+5Y4H5wjIVBz4gdAkjvZxVVfjA6ba1nHr5WQ==", + "version": "10.0.15", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz", + "integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" @@ -733,15 +724,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", - "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz", + "integrity": "sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.2", - "@typescript-eslint/type-utils": "5.59.2", - "@typescript-eslint/utils": "5.59.2", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/type-utils": "5.59.8", + "@typescript-eslint/utils": "5.59.8", "debug": "^4.3.4", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", @@ -767,14 +758,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", - "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.8.tgz", + "integrity": "sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.2", - "@typescript-eslint/types": "5.59.2", - "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", "debug": "^4.3.4" }, "engines": { @@ -794,13 +785,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", - "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz", + "integrity": "sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.2", - "@typescript-eslint/visitor-keys": "5.59.2" + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -811,13 +802,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", - "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz", + "integrity": "sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.2", - "@typescript-eslint/utils": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.8", + "@typescript-eslint/utils": "5.59.8", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -838,9 +829,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", - "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz", + "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -851,13 +842,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", - "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz", + "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.2", - "@typescript-eslint/visitor-keys": "5.59.2", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/visitor-keys": "5.59.8", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -878,17 +869,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", - "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.8.tgz", + "integrity": "sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.2", - "@typescript-eslint/types": "5.59.2", - "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/scope-manager": "5.59.8", + "@typescript-eslint/types": "5.59.8", + "@typescript-eslint/typescript-estree": "5.59.8", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -904,12 +895,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", - "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", + "version": "5.59.8", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz", + "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/types": "5.59.8", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1193,12 +1184,12 @@ } }, "node_modules/ava": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ava/-/ava-5.2.0.tgz", - "integrity": "sha512-W8yxFXJr/P68JP55eMpQIa6AiXhCX3VeuajM8nolyWNExcMDD6rnIWKTjw0B/+GkFHBIaN6Jd0LtcMThcoqVfg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ava/-/ava-5.3.0.tgz", + "integrity": "sha512-QYvBdyygl1LGX13IuYsC4bkwVCzZeovMGbxYkD73i7DVJxNlWnFa06YgrBOTbjw2QvSKUl5fOJ92Kj5WK9hSeg==", "dev": true, "dependencies": { - "acorn": "^8.8.1", + "acorn": "^8.8.2", "acorn-walk": "^8.2.0", "ansi-styles": "^6.2.1", "arrgv": "^1.0.2", @@ -1208,7 +1199,7 @@ "chalk": "^5.2.0", "chokidar": "^3.5.3", "chunkd": "^2.0.1", - "ci-info": "^3.7.1", + "ci-info": "^3.8.0", "ci-parallel-vars": "^1.0.1", "clean-yaml-object": "^0.1.0", "cli-truncate": "^3.1.0", @@ -1217,10 +1208,9 @@ "concordance": "^5.0.4", "currently-unhandled": "^0.4.1", "debug": "^4.3.4", - "del": "^7.0.0", "emittery": "^1.0.1", "figures": "^5.0.0", - "globby": "^13.1.3", + "globby": "^13.1.4", "ignore-by-default": "^2.1.0", "indent-string": "^5.0.0", "is-error": "^2.2.2", @@ -1236,13 +1226,12 @@ "plur": "^5.1.0", "pretty-ms": "^8.0.0", "resolve-cwd": "^3.0.0", - "slash": "^3.0.0", "stack-utils": "^2.0.6", "strip-ansi": "^7.0.1", "supertap": "^3.0.1", "temp-dir": "^3.0.0", - "write-file-atomic": "^5.0.0", - "yargs": "^17.6.2" + "write-file-atomic": "^5.0.1", + "yargs": "^17.7.2" }, "bin": { "ava": "entrypoints/cli.mjs" @@ -1278,7 +1267,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ava/node_modules/globby/node_modules/slash": { + "node_modules/ava/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", @@ -1303,9 +1292,9 @@ } }, "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", "dev": true, "peer": true, "engines": { @@ -1939,59 +1928,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/del": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", - "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", - "dev": true, - "dependencies": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2043,12 +1979,15 @@ } }, "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.3.tgz", + "integrity": "sha512-FYssxsmCTtKL72fGBSvb1K9dRz0/VZeWqFme/vSb7r7323x4CRaHu4LvQ5JG3+s6yt2YPbBrkpiEODktfyjI9A==", "dev": true, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, "node_modules/eastasianwidth": { @@ -2076,9 +2015,9 @@ "dev": true }, "node_modules/enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", + "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2219,15 +2158,15 @@ } }, "node_modules/eslint": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", - "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", + "version": "8.41.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", + "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", + "@eslint/js": "8.41.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -2247,13 +2186,12 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -2728,15 +2666,6 @@ "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -2851,9 +2780,9 @@ "dev": true }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "node_modules/fast-glob": { @@ -3084,13 +3013,14 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3" }, "funding": { @@ -3126,10 +3056,13 @@ } }, "node_modules/get-tsconfig": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz", - "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.0.tgz", + "integrity": "sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg==", "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } @@ -3240,6 +3173,12 @@ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3508,9 +3447,9 @@ } }, "node_modules/is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3652,28 +3591,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/is-plain-object": { @@ -3878,16 +3802,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-string-escape": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", @@ -4158,9 +4072,9 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", - "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "dev": true, "dependencies": { "@types/mdast": "^3.0.0", @@ -4226,9 +4140,9 @@ } }, "node_modules/micromark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", - "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", "dev": true, "funding": [ { @@ -4261,9 +4175,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", "dev": true, "funding": [ { @@ -4295,9 +4209,9 @@ } }, "node_modules/micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", "dev": true, "funding": [ { @@ -4316,9 +4230,9 @@ } }, "node_modules/micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", "dev": true, "funding": [ { @@ -4338,9 +4252,9 @@ } }, "node_modules/micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", "dev": true, "funding": [ { @@ -4358,9 +4272,9 @@ } }, "node_modules/micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", "dev": true, "funding": [ { @@ -4376,14 +4290,13 @@ "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.0.0", "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "micromark-util-types": "^1.0.0" } }, "node_modules/micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", "dev": true, "funding": [ { @@ -4403,9 +4316,9 @@ } }, "node_modules/micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", "dev": true, "funding": [ { @@ -4423,9 +4336,9 @@ } }, "node_modules/micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", "dev": true, "funding": [ { @@ -4442,9 +4355,9 @@ } }, "node_modules/micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", "dev": true, "funding": [ { @@ -4463,9 +4376,9 @@ } }, "node_modules/micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", "dev": true, "funding": [ { @@ -4483,9 +4396,9 @@ } }, "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", "dev": true, "funding": [ { @@ -4502,9 +4415,9 @@ } }, "node_modules/micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", "dev": true, "funding": [ { @@ -4524,9 +4437,9 @@ } }, "node_modules/micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", "dev": true, "funding": [ { @@ -4540,9 +4453,9 @@ ] }, "node_modules/micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", "dev": true, "funding": [ { @@ -4556,9 +4469,9 @@ ] }, "node_modules/micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", "dev": true, "funding": [ { @@ -4575,9 +4488,9 @@ } }, "node_modules/micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", "dev": true, "funding": [ { @@ -4594,9 +4507,9 @@ } }, "node_modules/micromark-util-sanitize-uri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", - "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", "dev": true, "funding": [ { @@ -4615,9 +4528,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", "dev": true, "funding": [ { @@ -4637,9 +4550,9 @@ } }, "node_modules/micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", "dev": true, "funding": [ { @@ -4653,9 +4566,9 @@ ] }, "node_modules/micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", "dev": true, "funding": [ { @@ -5529,6 +5442,15 @@ "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -5708,9 +5630,9 @@ } }, "node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5803,13 +5725,13 @@ "dev": true }, "node_modules/sinon": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.4.tgz", - "integrity": "sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.0.tgz", + "integrity": "sha512-cS5FgpDdE9/zx7no8bxROHymSlPLZzq0ChbbLk1DrxBfc+eTeBK3y8nIL+nu/0QeYydhhbLIr7ecHJpywjQaoQ==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/fake-timers": "^10.2.0", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", "nise": "^5.1.4", @@ -5987,9 +5909,9 @@ } }, "node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -6233,9 +6155,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -6306,9 +6228,9 @@ } }, "node_modules/typedoc": { - "version": "0.24.6", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.6.tgz", - "integrity": "sha512-c3y3h45xJv3qYwKDAwU6Cl+26CjT0ZvblHzfHJ+SjQDM4p1mZxtgHky4lhmG0+nNarRht8kADfZlbspJWdZarQ==", + "version": "0.24.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.7.tgz", + "integrity": "sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==", "dev": true, "dependencies": { "lunr": "^2.3.9", @@ -6345,9 +6267,9 @@ } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -6360,16 +6282,16 @@ } }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -6641,9 +6563,9 @@ } }, "node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz", - "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, "engines": { "node": ">=14" diff --git a/package.json b/package.json index 2548bb7570..d292a1d324 100644 --- a/package.json +++ b/package.json @@ -68,29 +68,29 @@ "@types/express": "^4.17.17", "@types/node": "^10.17.60", "@types/oauth": "^0.9.1", - "@types/sinon": "^10.0.14", - "@typescript-eslint/eslint-plugin": "^5.59.2", - "@typescript-eslint/parser": "^5.59.2", - "ava": "^5.2.0", - "dotenv": "^16.0.3", - "eslint": "^8.40.0", + "@types/sinon": "^10.0.15", + "@typescript-eslint/eslint-plugin": "^5.59.8", + "@typescript-eslint/parser": "^5.59.8", + "ava": "^5.3.0", + "dotenv": "^16.1.3", + "eslint": "^8.41.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.5", "eslint-plugin-import": "^2.27.5", "prettier": "^2.8.8", "prettier-plugin-jsdoc": "^0.4.2", - "sinon": "^15.0.4", + "sinon": "^15.1.0", "ts-node": "^10.9.1", - "typedoc": "^0.24.6", + "typedoc": "^0.24.7", "typedoc-plugin-extras": "^2.3.3", - "typescript": "^5.0.4" + "typescript": "^5.1.3" }, "dependencies": { "atlassian-jwt": "^2.0.2", "axios": "^1.4.0", "form-data": "^4.0.0", "oauth": "^0.10.0", - "tslib": "^2.5.0" + "tslib": "^2.5.2" } } diff --git a/src/version3/appProperties.ts b/src/version3/appProperties.ts index 3512ae66ee..8ac6edc2a5 100644 --- a/src/version3/appProperties.ts +++ b/src/version3/appProperties.ts @@ -145,4 +145,79 @@ export class AppProperties { return this.client.sendRequest(config, callback); } + + /** + * Sets the value of a Forge app's property. These values can be retrieved in [Jira + * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context + * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables). + * + * For other use cases, use the [Storage + * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/). + * + * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The + * maximum length is 32768 characters. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only + * Forge apps can make this request. + */ + async putAppProperty( + parameters: Parameters.PutAppProperty, + callback: Callback, + ): Promise; + /** + * Sets the value of a Forge app's property. These values can be retrieved in [Jira + * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context + * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables). + * + * For other use cases, use the [Storage + * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/). + * + * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The + * maximum length is 32768 characters. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only + * Forge apps can make this request. + */ + async putAppProperty( + parameters: Parameters.PutAppProperty, + callback?: never, + ): Promise; + async putAppProperty( + parameters: Parameters.PutAppProperty, + callback?: Callback, + ): Promise { + // todo + const config: RequestConfig = { + url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, + method: 'PUT', + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Deletes a Forge app's property. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only + * Forge apps can make this request. + */ + async deleteAppProperty(parameters: Parameters.DeleteAppProperty, callback: Callback): Promise; + /** + * Deletes a Forge app's property. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only + * Forge apps can make this request. + */ + async deleteAppProperty(parameters: Parameters.DeleteAppProperty, callback?: never): Promise; + async deleteAppProperty( + parameters: Parameters.DeleteAppProperty, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, + method: 'DELETE', + }; + + return this.client.sendRequest(config, callback); + } } diff --git a/src/version3/client/version3Client.ts b/src/version3/client/version3Client.ts index c60aad432f..e9e54b7500 100644 --- a/src/version3/client/version3Client.ts +++ b/src/version3/client/version3Client.ts @@ -47,6 +47,7 @@ import { JiraExpressions, JiraSettings, JQL, + JqlFunctionsApps, Labels, LicenseMetrics, Myself, @@ -136,6 +137,7 @@ export class Version3Client extends BaseClient { jiraExpressions = new JiraExpressions(this); jiraSettings = new JiraSettings(this); jql = new JQL(this); + jqlFunctionsApps = new JqlFunctionsApps(this); labels = new Labels(this); licenseMetrics = new LicenseMetrics(this); myself = new Myself(this); diff --git a/src/version3/index.ts b/src/version3/index.ts index 51a19dbab9..c771572d6e 100644 --- a/src/version3/index.ts +++ b/src/version3/index.ts @@ -45,6 +45,7 @@ export * from './issueWorklogs'; export * from './jiraExpressions'; export * from './jiraSettings'; export * from './jQL'; +export * from './jqlFunctionsApps'; export * from './labels'; export * from './licenseMetrics'; export * from './myself'; diff --git a/src/version3/issueSecuritySchemes.ts b/src/version3/issueSecuritySchemes.ts index 0a20479969..14bb582c2a 100644 --- a/src/version3/issueSecuritySchemes.ts +++ b/src/version3/issueSecuritySchemes.ts @@ -30,6 +30,272 @@ export class IssueSecuritySchemes { return this.client.sendRequest(config, callback); } + /** + * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme + * levels and security scheme levels' members per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async createIssueSecurityScheme( + parameters: Parameters.CreateIssueSecurityScheme | undefined, + callback: Callback, + ): Promise; + /** + * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme + * levels and security scheme levels' members per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async createIssueSecurityScheme( + parameters?: Parameters.CreateIssueSecurityScheme, + callback?: never, + ): Promise; + async createIssueSecurityScheme( + parameters?: Parameters.CreateIssueSecurityScheme, + callback?: Callback, + ): Promise { + const config: RequestConfig = { // todo + url: '/rest/api/3/issuesecurityschemes', + method: 'POST', + data: { + description: parameters?.description, + levels: parameters?.levels, + name: parameters?.name, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security levels. + * + * Only issue security levels in the context of classic projects are returned. + * + * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include + * both specified issue security levels and all issue security levels from the specified schemes. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async getSecurityLevels( + parameters: Parameters.GetSecurityLevels | undefined, + callback: Callback, + ): Promise; + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security levels. + * + * Only issue security levels in the context of classic projects are returned. + * + * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include + * both specified issue security levels and all issue security levels from the specified schemes. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async getSecurityLevels( + parameters?: Parameters.GetSecurityLevels, + callback?: never, + ): Promise; + async getSecurityLevels( + parameters?: Parameters.GetSecurityLevels, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/issuesecurityschemes/level', + method: 'GET', + params: { + startAt: parameters?.startAt, + maxResults: parameters?.maxResults, + id: parameters?.id, + schemeId: parameters?.schemeId, + onlyDefault: parameters?.onlyDefault, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Sets default issue security levels for schemes. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async setDefaultLevels( + parameters: Parameters.SetDefaultLevels | undefined, + callback: Callback, + ): Promise; + /** + * Sets default issue security levels for schemes. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async setDefaultLevels(parameters?: Parameters.SetDefaultLevels, callback?: never): Promise; + async setDefaultLevels( + parameters?: Parameters.SetDefaultLevels, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/issuesecurityschemes/level/default', + method: 'PUT', + data: { + defaultValues: parameters?.defaultValues, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security level members. + * + * Only issue security level members in the context of classic projects are returned. + * + * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will + * include all issue security level members from the specified schemes and levels. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async getSecurityLevelMembers( + parameters: Parameters.GetSecurityLevelMembers | undefined, + callback: Callback, + ): Promise; + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security level members. + * + * Only issue security level members in the context of classic projects are returned. + * + * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will + * include all issue security level members from the specified schemes and levels. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async getSecurityLevelMembers( + parameters?: Parameters.GetSecurityLevelMembers, + callback?: never, + ): Promise; + async getSecurityLevelMembers( + parameters?: Parameters.GetSecurityLevelMembers, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/issuesecurityschemes/level/member', + method: 'GET', + params: { + startAt: parameters?.startAt, + maxResults: parameters?.maxResults, + id: parameters?.id, + schemeId: parameters?.schemeId, + levelId: parameters?.levelId, + expand: parameters?.expand, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of + * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs + * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the + * context of classic projects are supported. + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async searchProjectsUsingSecuritySchemes( + parameters: Parameters.SearchProjectsUsingSecuritySchemes | undefined, + callback: Callback, + ): Promise; + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of + * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs + * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the + * context of classic projects are supported. + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async searchProjectsUsingSecuritySchemes( + parameters?: Parameters.SearchProjectsUsingSecuritySchemes, + callback?: never, + ): Promise; + async searchProjectsUsingSecuritySchemes( + parameters?: Parameters.SearchProjectsUsingSecuritySchemes, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/issuesecurityschemes/project', + method: 'GET', + params: { + startAt: parameters?.startAt, + maxResults: parameters?.maxResults, + issueSecuritySchemeId: parameters?.issueSecuritySchemeId, + projectId: parameters?.projectId, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security schemes. If you specify the project ID parameter, the result will contain issue security schemes and + * related project IDs you filter by. Use + * {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to obtain all + * projects related to scheme. + * + * Only issue security schemes in the context of classic projects are returned. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async searchSecuritySchemes( + parameters: Parameters.SearchSecuritySchemes | undefined, + callback: Callback, + ): Promise; + /** + * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue + * security schemes. If you specify the project ID parameter, the result will contain issue security schemes and + * related project IDs you filter by. Use + * {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to obtain all + * projects related to scheme. + * + * Only issue security schemes in the context of classic projects are returned. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async searchSecuritySchemes( + parameters?: Parameters.SearchSecuritySchemes, + callback?: never, + ): Promise; + async searchSecuritySchemes( + parameters?: Parameters.SearchSecuritySchemes, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/issuesecurityschemes/search', + method: 'GET', + params: { + startAt: parameters?.startAt, + maxResults: parameters?.maxResults, + id: parameters?.id, + projectId: parameters?.projectId, + }, + }; + + return this.client.sendRequest(config, callback); + } + /** * Returns an issue security scheme along with its security levels. * @@ -67,4 +333,225 @@ export class IssueSecuritySchemes { return this.client.sendRequest(config, callback); } + + /** + * Updates the issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async updateIssueSecurityScheme( + parameters: Parameters.UpdateIssueSecurityScheme, + callback: Callback, + ): Promise; + /** + * Updates the issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async updateIssueSecurityScheme( + parameters: Parameters.UpdateIssueSecurityScheme, + callback?: never, + ): Promise; + async updateIssueSecurityScheme( + parameters: Parameters.UpdateIssueSecurityScheme, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.id}`, + method: 'PUT', + data: { + description: parameters.description, + name: parameters.name, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Deletes an issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async deleteSecurityScheme( + parameters: Parameters.DeleteSecurityScheme, + callback: Callback, + ): Promise; + /** + * Deletes an issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async deleteSecurityScheme(parameters: Parameters.DeleteSecurityScheme, callback?: never): Promise; + async deleteSecurityScheme( + parameters: Parameters.DeleteSecurityScheme, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}`, + method: 'DELETE', + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async addSecurityLevel(parameters: Parameters.AddSecurityLevel, callback: Callback): Promise; + /** + * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async addSecurityLevel(parameters: Parameters.AddSecurityLevel, callback?: never): Promise; + async addSecurityLevel(parameters: Parameters.AddSecurityLevel, callback?: Callback): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level`, + method: 'PUT', + data: { + levels: parameters.levels, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Updates the issue security level. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async updateSecurityLevel(parameters: Parameters.UpdateSecurityLevel, callback: Callback): Promise; + /** + * Updates the issue security level. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async updateSecurityLevel(parameters: Parameters.UpdateSecurityLevel, callback?: never): Promise; + async updateSecurityLevel( + parameters: Parameters.UpdateSecurityLevel, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, + method: 'PUT', + data: { + description: parameters.description, + name: parameters.name, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Deletes an issue security level. + * + * This operation is + * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the + * `location` link in the response to determine the status of the task and use [Get + * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async removeLevel(parameters: Parameters.RemoveLevel, callback: Callback): Promise; + /** + * Deletes an issue security level. + * + * This operation is + * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the + * `location` link in the response to determine the status of the task and use [Get + * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async removeLevel(parameters: Parameters.RemoveLevel, callback?: never): Promise; + async removeLevel(parameters: Parameters.RemoveLevel, callback?: Callback): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, + method: 'DELETE', + params: { + replaceWith: parameters.replaceWith, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Adds members to the issue security level. You can add up to 100 members per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async addSecurityLevelMembers( + parameters: Parameters.AddSecurityLevelMembers, + callback: Callback, + ): Promise; + /** + * Adds members to the issue security level. You can add up to 100 members per request. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async addSecurityLevelMembers(parameters: Parameters.AddSecurityLevelMembers, callback?: never): Promise; + async addSecurityLevelMembers( + parameters: Parameters.AddSecurityLevelMembers, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member`, + method: 'PUT', + data: { + members: parameters.members, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Removes an issue security level member from an issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async removeMemberFromSecurityLevel( + parameters: Parameters.RemoveMemberFromSecurityLevel, + callback: Callback, + ): Promise; + /** + * Removes an issue security level member from an issue security scheme. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** + * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). + */ + async removeMemberFromSecurityLevel( + parameters: Parameters.RemoveMemberFromSecurityLevel, + callback?: never, + ): Promise; + async removeMemberFromSecurityLevel( + parameters: Parameters.RemoveMemberFromSecurityLevel, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member/${parameters.memberId}`, + method: 'DELETE', + }; + + return this.client.sendRequest(config, callback); + } } diff --git a/src/version3/jQL.ts b/src/version3/jQL.ts index e09036e124..20acb211b0 100644 --- a/src/version3/jQL.ts +++ b/src/version3/jQL.ts @@ -310,10 +310,12 @@ export class JQL { return this.client.sendRequest(config, callback); } + /** @deprecated */ async getPrecomputations( parameters: Parameters.GetPrecomputations | undefined, callback: Callback, ): Promise; + /** @deprecated */ async getPrecomputations( parameters?: Parameters.GetPrecomputations, callback?: never, @@ -336,10 +338,13 @@ export class JQL { return this.client.sendRequest(config, callback); } + + /** @deprecated */ async updatePrecomputations( parameters: Parameters.UpdatePrecomputations, callback: Callback, ): Promise; + /** @deprecated */ async updatePrecomputations(parameters: Parameters.UpdatePrecomputations, callback?: never): Promise; async updatePrecomputations( parameters: Parameters.UpdatePrecomputations, diff --git a/src/version3/jqlFunctionsApps.ts b/src/version3/jqlFunctionsApps.ts new file mode 100644 index 0000000000..d45dcf0020 --- /dev/null +++ b/src/version3/jqlFunctionsApps.ts @@ -0,0 +1,82 @@ +import * as Models from './models'; +import * as Parameters from './parameters'; +import { Callback } from '../callback'; +import { Client } from '../clients'; +import { RequestConfig } from '../requestConfig'; + +export class JqlFunctionsApps { + constructor(private client: Client) {} + + /** + * Returns the list of a function's precomputations along with information about when they were created, updated, and + * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This + * API is only accessible to apps and apps can only inspect their own functions. + */ + async getPrecomputations( + parameters: Parameters.GetPrecomputations | undefined, + callback: Callback, + ): Promise; + /** + * Returns the list of a function's precomputations along with information about when they were created, updated, and + * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This + * API is only accessible to apps and apps can only inspect their own functions. + */ + async getPrecomputations( + parameters?: Parameters.GetPrecomputations, + callback?: never, + ): Promise; + async getPrecomputations( + parameters?: Parameters.GetPrecomputations, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/jql/function/computation', + method: 'GET', + params: { + functionKey: parameters?.functionKey, + startAt: parameters?.startAt, + maxResults: parameters?.maxResults, + orderBy: parameters?.orderBy, + filter: parameters?.filter, + }, + }; + + return this.client.sendRequest(config, callback); + } + + /** + * Update the precomputation value of a function created by a Forge/Connect app. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** An API + * for apps to update their own precomputations. + */ + async updatePrecomputations( + parameters: Parameters.UpdatePrecomputations | undefined, + callback: Callback, + ): Promise; + /** + * Update the precomputation value of a function created by a Forge/Connect app. + * + * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** An API + * for apps to update their own precomputations. + */ + async updatePrecomputations(parameters?: Parameters.UpdatePrecomputations, callback?: never): Promise; + async updatePrecomputations( + parameters?: Parameters.UpdatePrecomputations, + callback?: Callback, + ): Promise { + const config: RequestConfig = { + url: '/rest/api/3/jql/function/computation', + method: 'POST', + data: { + values: parameters?.values, + }, + }; + + return this.client.sendRequest(config, callback); + } +} diff --git a/src/version3/models/addSecuritySchemeLevelsRequest.ts b/src/version3/models/addSecuritySchemeLevelsRequest.ts new file mode 100644 index 0000000000..5111d85cdd --- /dev/null +++ b/src/version3/models/addSecuritySchemeLevelsRequest.ts @@ -0,0 +1,6 @@ +import { SecuritySchemeLevel } from './securitySchemeLevel'; + +export interface AddSecuritySchemeLevelsRequest { + /** The list of scheme levels which should be added to the security scheme. */ + levels?: SecuritySchemeLevel[]; +} diff --git a/src/version3/models/createIssueSecuritySchemeDetails.ts b/src/version3/models/createIssueSecuritySchemeDetails.ts new file mode 100644 index 0000000000..d61b640ba1 --- /dev/null +++ b/src/version3/models/createIssueSecuritySchemeDetails.ts @@ -0,0 +1,11 @@ +import { SecuritySchemeLevel } from './securitySchemeLevel'; + +/** Issue security scheme and it's details */ +export interface CreateIssueSecuritySchemeDetails { + /** The description of the issue security scheme. */ + description?: string; + /** The list of scheme levels which should be added to the security scheme. */ + levels?: SecuritySchemeLevel[]; + /** The name of the issue security scheme. Must be unique (case-insensitive). */ + name: string; +} diff --git a/src/version3/models/defaultLevelValue.ts b/src/version3/models/defaultLevelValue.ts new file mode 100644 index 0000000000..c0a25b6e13 --- /dev/null +++ b/src/version3/models/defaultLevelValue.ts @@ -0,0 +1,10 @@ +/** Details of scheme and new default level. */ +export interface DefaultLevelValue { + /** + * The ID of the issue security level to set as default for the specified scheme. Providing null will reset the + * default level. + */ + defaultLevelId: string; + /** The ID of the issue security scheme to set default level for. */ + issueSecuritySchemeId: string; +} diff --git a/src/version3/models/fields.ts b/src/version3/models/fields.ts index dae2e3de3c..8ae63d5a0e 100644 --- a/src/version3/models/fields.ts +++ b/src/version3/models/fields.ts @@ -19,8 +19,6 @@ import { Worklog } from './worklog'; /** Key fields from the linked issue. */ export interface Fields { - [key: string]: any; - /** The estimate of how much longer working on the issue will take, in seconds. */ aggregatetimespent: number | null; /** The assignee of the linked issue. */ @@ -50,7 +48,6 @@ export interface Fields { issuetype?: IssueTypeDetails; /** The type of the linked issue. */ issueType?: IssueTypeDetails; - environment: RichText | null; issuelinks: IssueLink[]; workratio: number; @@ -83,4 +80,6 @@ export interface Fields { total: number; worklogs: Worklog[]; }; + + [key: string]: any; } diff --git a/src/version3/models/index.ts b/src/version3/models/index.ts index 3413254e9a..f49d6d21bd 100644 --- a/src/version3/models/index.ts +++ b/src/version3/models/index.ts @@ -14,7 +14,19 @@ export * from './attachment'; export * from './attachmentArchive'; export * from './attachmentArchiveEntry'; export * from './attachmentArchiveImpl'; +export * from './pageSecuritySchemeWithProjects'; +export * from './setDefaultLevelsRequest'; +export * from './pageSecurityLevelMember'; +export * from './pageIssueSecuritySchemeToProjectMapping'; +export * from './securitySchemeId'; +export * from './createIssueSecuritySchemeDetails'; +export * from './pageSecurityLevel'; export * from './attachmentArchiveItemReadable'; +export * from './updateIssueSecuritySchemeRequest'; +export * from './addSecuritySchemeLevelsRequest'; +export * from './updateIssueSecurityLevelDetails'; +export * from './securitySchemeMembersRequest'; +export * from './pageJqlFunctionPrecomputation'; export * from './attachmentArchiveMetadataReadable'; export * from './attachmentMetadata'; export * from './attachmentSettings'; diff --git a/src/version3/models/issueSecuritySchemeToProjectMapping.ts b/src/version3/models/issueSecuritySchemeToProjectMapping.ts new file mode 100644 index 0000000000..27c458c989 --- /dev/null +++ b/src/version3/models/issueSecuritySchemeToProjectMapping.ts @@ -0,0 +1,5 @@ +/** Details about a project using security scheme mapping. */ +export interface IssueSecuritySchemeToProjectMapping { + issueSecuritySchemeId?: string; + projectId?: string; +} diff --git a/src/version3/models/pageIssueSecuritySchemeToProjectMapping.ts b/src/version3/models/pageIssueSecuritySchemeToProjectMapping.ts new file mode 100644 index 0000000000..86b0e88bfe --- /dev/null +++ b/src/version3/models/pageIssueSecuritySchemeToProjectMapping.ts @@ -0,0 +1,19 @@ +import { IssueSecuritySchemeToProjectMapping } from './issueSecuritySchemeToProjectMapping'; + +/** A page of items. */ +export interface PageIssueSecuritySchemeToProjectMapping { + /** Whether this is the last page. */ + isLast?: boolean; + /** The maximum number of items that could be returned. */ + maxResults?: number; + /** If there is another page of results, the URL of the next page. */ + nextPage?: string; + /** The URL of the page. */ + self?: string; + /** The index of the first item returned. */ + startAt?: number; + /** The number of items returned. */ + total?: number; + /** The list of items. */ + values?: IssueSecuritySchemeToProjectMapping[]; +} diff --git a/src/version3/models/pageJqlFunctionPrecomputation.ts b/src/version3/models/pageJqlFunctionPrecomputation.ts new file mode 100644 index 0000000000..3104ea5653 --- /dev/null +++ b/src/version3/models/pageJqlFunctionPrecomputation.ts @@ -0,0 +1,19 @@ +import { JqlFunctionPrecomputation } from './jqlFunctionPrecomputation'; + +/** A page of items. */ +export interface PageJqlFunctionPrecomputation { + /** Whether this is the last page. */ + isLast?: boolean; + /** The maximum number of items that could be returned. */ + maxResults?: number; + /** If there is another page of results, the URL of the next page. */ + nextPage?: string; + /** The URL of the page. */ + self?: string; + /** The index of the first item returned. */ + startAt?: number; + /** The number of items returned. */ + total?: number; + /** The list of items. */ + values?: JqlFunctionPrecomputation[]; +} diff --git a/src/version3/models/pageSecurityLevel.ts b/src/version3/models/pageSecurityLevel.ts new file mode 100644 index 0000000000..9248cd0c9c --- /dev/null +++ b/src/version3/models/pageSecurityLevel.ts @@ -0,0 +1,19 @@ +import { SecurityLevel } from './securityLevel'; + +/** A page of items. */ +export interface PageSecurityLevel { + /** Whether this is the last page. */ + isLast?: boolean; + /** The maximum number of items that could be returned. */ + maxResults?: number; + /** If there is another page of results, the URL of the next page. */ + nextPage?: string; + /** The URL of the page. */ + self?: string; + /** The index of the first item returned. */ + startAt?: number; + /** The number of items returned. */ + total?: number; + /** The list of items. */ + values?: SecurityLevel[]; +} diff --git a/src/version3/models/pageSecurityLevelMember.ts b/src/version3/models/pageSecurityLevelMember.ts new file mode 100644 index 0000000000..b168666ffc --- /dev/null +++ b/src/version3/models/pageSecurityLevelMember.ts @@ -0,0 +1,19 @@ +import { SecurityLevelMember } from './securityLevelMember'; + +/** A page of items. */ +export interface PageSecurityLevelMember { + /** Whether this is the last page. */ + isLast?: boolean; + /** The maximum number of items that could be returned. */ + maxResults?: number; + /** If there is another page of results, the URL of the next page. */ + nextPage?: string; + /** The URL of the page. */ + self?: string; + /** The index of the first item returned. */ + startAt?: number; + /** The number of items returned. */ + total?: number; + /** The list of items. */ + values?: SecurityLevelMember[]; +} diff --git a/src/version3/models/pageSecuritySchemeWithProjects.ts b/src/version3/models/pageSecuritySchemeWithProjects.ts new file mode 100644 index 0000000000..06b1431177 --- /dev/null +++ b/src/version3/models/pageSecuritySchemeWithProjects.ts @@ -0,0 +1,19 @@ +import { SecuritySchemeWithProjects } from './securitySchemeWithProjects'; + +/** A page of items. */ +export interface PageSecuritySchemeWithProjects { + /** Whether this is the last page. */ + isLast?: boolean; + /** The maximum number of items that could be returned. */ + maxResults?: number; + /** If there is another page of results, the URL of the next page. */ + nextPage?: string; + /** The URL of the page. */ + self?: string; + /** The index of the first item returned. */ + startAt?: number; + /** The number of items returned. */ + total?: number; + /** The list of items. */ + values?: SecuritySchemeWithProjects[]; +} diff --git a/src/version3/models/securityLevelMember.ts b/src/version3/models/securityLevelMember.ts new file mode 100644 index 0000000000..4c2f05fc63 --- /dev/null +++ b/src/version3/models/securityLevelMember.ts @@ -0,0 +1,12 @@ +import { PermissionHolder } from './permissionHolder'; + +/** Issue security level member. */ +export interface SecurityLevelMember { + holder?: PermissionHolder; + /** The ID of the issue security level member. */ + id: string; + /** The ID of the issue security level. */ + issueSecurityLevelId: string; + /** The ID of the issue security scheme. */ + issueSecuritySchemeId: string; +} diff --git a/src/version3/models/securitySchemeId.ts b/src/version3/models/securitySchemeId.ts new file mode 100644 index 0000000000..dfaa746d08 --- /dev/null +++ b/src/version3/models/securitySchemeId.ts @@ -0,0 +1,5 @@ +/** The ID of the issue security scheme. */ +export interface SecuritySchemeId { + /** The ID of the issue security scheme. */ + id: string; +} diff --git a/src/version3/models/securitySchemeLevel.ts b/src/version3/models/securitySchemeLevel.ts new file mode 100644 index 0000000000..a1e5b28ac4 --- /dev/null +++ b/src/version3/models/securitySchemeLevel.ts @@ -0,0 +1,12 @@ +import { SecuritySchemeLevelMember } from './securitySchemeLevelMember'; + +export interface SecuritySchemeLevel { + /** The description of the issue security scheme level. */ + description?: string; + /** Specifies whether the level is the default level. False by default. */ + isDefault?: boolean; + /** The list of level members which should be added to the issue security scheme level. */ + members?: SecuritySchemeLevelMember[]; + /** The name of the issue security scheme level. Must be unique. */ + name: string; +} diff --git a/src/version3/models/securitySchemeLevelMember.ts b/src/version3/models/securitySchemeLevelMember.ts new file mode 100644 index 0000000000..1bf52f7a8a --- /dev/null +++ b/src/version3/models/securitySchemeLevelMember.ts @@ -0,0 +1,6 @@ +export interface SecuritySchemeLevelMember { + /** The value corresponding to the specified member type. */ + parameter?: string; + /** The issue security level member type, e.g `reporter`, `group`, `user`. */ + type: string; +} diff --git a/src/version3/models/securitySchemeMembersRequest.ts b/src/version3/models/securitySchemeMembersRequest.ts new file mode 100644 index 0000000000..0c8146b55c --- /dev/null +++ b/src/version3/models/securitySchemeMembersRequest.ts @@ -0,0 +1,7 @@ +import { SecuritySchemeLevelMember } from './securitySchemeLevelMember'; + +/** Details of issue security scheme level new members. */ +export interface SecuritySchemeMembersRequest { + /** The list of level members which should be added to the issue security scheme level. */ + members?: SecuritySchemeLevelMember[]; +} diff --git a/src/version3/models/securitySchemeWithProjects.ts b/src/version3/models/securitySchemeWithProjects.ts new file mode 100644 index 0000000000..3726acea89 --- /dev/null +++ b/src/version3/models/securitySchemeWithProjects.ts @@ -0,0 +1,15 @@ +/** Details about an issue security scheme. */ +export interface SecuritySchemeWithProjects { + /** The default level ID of the issue security scheme. */ + defaultLevel?: number; + /** The description of the issue security scheme. */ + description?: string; + /** The ID of the issue security scheme. */ + id: number; + /** The name of the issue security scheme. */ + name: string; + /** The list of project IDs associated with the issue security scheme. */ + projectIds?: number[]; + /** The URL of the issue security scheme. */ + self: string; +} diff --git a/src/version3/models/setDefaultLevelsRequest.ts b/src/version3/models/setDefaultLevelsRequest.ts new file mode 100644 index 0000000000..64888b0ce6 --- /dev/null +++ b/src/version3/models/setDefaultLevelsRequest.ts @@ -0,0 +1,7 @@ +import { DefaultLevelValue } from './defaultLevelValue'; + +/** Details of new default levels. */ +export interface SetDefaultLevelsRequest { + /** List of objects with issue security scheme ID and new default level ID. */ + defaultValues: DefaultLevelValue[]; +} diff --git a/src/version3/models/updateIssueSecurityLevelDetails.ts b/src/version3/models/updateIssueSecurityLevelDetails.ts new file mode 100644 index 0000000000..6cad319f39 --- /dev/null +++ b/src/version3/models/updateIssueSecurityLevelDetails.ts @@ -0,0 +1,7 @@ +/** Details of issue security scheme level. */ +export interface UpdateIssueSecurityLevelDetails { + /** The description of the issue security scheme level. */ + description?: string; + /** The name of the issue security scheme level. Must be unique. */ + name?: string; +} diff --git a/src/version3/models/updateIssueSecuritySchemeRequest.ts b/src/version3/models/updateIssueSecuritySchemeRequest.ts new file mode 100644 index 0000000000..86f0ba32e3 --- /dev/null +++ b/src/version3/models/updateIssueSecuritySchemeRequest.ts @@ -0,0 +1,6 @@ +export interface UpdateIssueSecuritySchemeRequest { + /** The description of the security scheme. */ + description?: string; + /** The name of the security scheme. Must be unique. */ + name?: string; +} diff --git a/src/version3/parameters/addSecurityLevel.ts b/src/version3/parameters/addSecurityLevel.ts new file mode 100644 index 0000000000..ed915fa92c --- /dev/null +++ b/src/version3/parameters/addSecurityLevel.ts @@ -0,0 +1,6 @@ +import { AddSecuritySchemeLevelsRequest } from '../models'; + +export interface AddSecurityLevel extends AddSecuritySchemeLevelsRequest { + /** The ID of the issue security scheme. */ + schemeId: string; +} diff --git a/src/version3/parameters/addSecurityLevelMembers.ts b/src/version3/parameters/addSecurityLevelMembers.ts new file mode 100644 index 0000000000..ac1a26e84d --- /dev/null +++ b/src/version3/parameters/addSecurityLevelMembers.ts @@ -0,0 +1,8 @@ +import { SecuritySchemeMembersRequest } from '../models'; + +export interface AddSecurityLevelMembers extends SecuritySchemeMembersRequest { + /** The ID of the issue security scheme. */ + schemeId: string; + /** The ID of the issue security level. */ + levelId: string; +} diff --git a/src/version3/parameters/createIssueSecurityScheme.ts b/src/version3/parameters/createIssueSecurityScheme.ts new file mode 100644 index 0000000000..0f290307b4 --- /dev/null +++ b/src/version3/parameters/createIssueSecurityScheme.ts @@ -0,0 +1,3 @@ +import { CreateIssueSecuritySchemeDetails } from '../models'; + +export interface CreateIssueSecurityScheme extends CreateIssueSecuritySchemeDetails {} diff --git a/src/version3/parameters/deleteAppProperty.ts b/src/version3/parameters/deleteAppProperty.ts new file mode 100644 index 0000000000..91efe84b73 --- /dev/null +++ b/src/version3/parameters/deleteAppProperty.ts @@ -0,0 +1,4 @@ +export interface DeleteAppProperty { + /** The key of the property. */ + propertyKey: string; +} diff --git a/src/version3/parameters/deleteSecurityScheme.ts b/src/version3/parameters/deleteSecurityScheme.ts new file mode 100644 index 0000000000..6951711e73 --- /dev/null +++ b/src/version3/parameters/deleteSecurityScheme.ts @@ -0,0 +1,4 @@ +export interface DeleteSecurityScheme { + /** The ID of the issue security scheme. */ + schemeId: string; +} diff --git a/src/version3/parameters/getSecurityLevelMembers.ts b/src/version3/parameters/getSecurityLevelMembers.ts new file mode 100644 index 0000000000..70f0202d5f --- /dev/null +++ b/src/version3/parameters/getSecurityLevelMembers.ts @@ -0,0 +1,32 @@ +export interface GetSecurityLevelMembers { + /** The index of the first item to return in a page of results (page offset). */ + startAt?: string; + /** The maximum number of items to return per page. */ + maxResults?: string; + /** + * The list of issue security level member IDs. To include multiple issue security level members separate IDs with + * an ampersand: `id=10000&id=10001`. + */ + id?: string[]; + /** + * The list of issue security scheme IDs. To include multiple issue security schemes separate IDs with an ampersand: + * `schemeId=10000&schemeId=10001`. + */ + schemeId?: string[]; + /** + * The list of issue security level IDs. To include multiple issue security levels separate IDs with an ampersand: + * `levelId=10000&levelId=10001`. + */ + levelId?: string[]; + /** + * Use expand to include additional information in the response. This parameter accepts a comma-separated list. + * Expand options include: + * + * - `all` Returns all expandable information + * - `field` Returns information about the custom field granted the permission + * - `group` Returns information about the group that is granted the permission + * - `projectRole` Returns information about the project role granted the permission + * - `user` Returns information about the user who is granted the permission + */ + expand?: string | string[]; +} diff --git a/src/version3/parameters/getSecurityLevels.ts b/src/version3/parameters/getSecurityLevels.ts new file mode 100644 index 0000000000..a997dc9f34 --- /dev/null +++ b/src/version3/parameters/getSecurityLevels.ts @@ -0,0 +1,21 @@ +export interface GetSecurityLevels { + /** The index of the first item to return in a page of results (page offset). */ + startAt?: string; + /** The maximum number of items to return per page. */ + maxResults?: string; + /** + * The list of issue security scheme level IDs. To include multiple issue security levels, separate IDs with an + * ampersand: `id=10000&id=10001`. + */ + id?: string[]; + /** + * The list of issue security scheme IDs. To include multiple issue security schemes, separate IDs with an + * ampersand: `schemeId=10000&schemeId=10001`. + */ + schemeId?: string[]; + /** + * When set to true, returns multiple default levels for each security scheme containing a default. If you provide + * scheme and level IDs not associated with the default, returns an empty page. The default value is false. + */ + onlyDefault?: boolean; +} diff --git a/src/version3/parameters/index.ts b/src/version3/parameters/index.ts index 86f757a2c0..97ecb16809 100644 --- a/src/version3/parameters/index.ts +++ b/src/version3/parameters/index.ts @@ -14,7 +14,22 @@ export * from './addVote'; export * from './addWatcher'; export * from './addWorklog'; export * from './updatePrecomputations'; +export * from './setDefaultLevels'; export * from './getPrecomputations'; +export * from './getSecurityLevelMembers'; +export * from './searchProjectsUsingSecuritySchemes'; +export * from './searchSecuritySchemes'; +export * from './removeLevel'; +export * from './addSecurityLevelMembers'; +export * from './removeMemberFromSecurityLevel'; +export * from './updateIssueSecurityScheme'; +export * from './deleteSecurityScheme'; +export * from './addSecurityLevel'; +export * from './updateSecurityLevel'; +export * from './putAppProperty'; +export * from './deleteAppProperty'; +export * from './createIssueSecurityScheme'; +export * from './getSecurityLevels'; export * from './createNotificationScheme'; export * from './getNotificationSchemeToProjectMappings'; export * from './updateNotificationScheme'; diff --git a/src/version3/parameters/putAppProperty.ts b/src/version3/parameters/putAppProperty.ts new file mode 100644 index 0000000000..378fcf528f --- /dev/null +++ b/src/version3/parameters/putAppProperty.ts @@ -0,0 +1,4 @@ +export interface PutAppProperty { + /** The key of the property. */ + propertyKey: string; +} diff --git a/src/version3/parameters/removeLevel.ts b/src/version3/parameters/removeLevel.ts new file mode 100644 index 0000000000..571f2e800f --- /dev/null +++ b/src/version3/parameters/removeLevel.ts @@ -0,0 +1,8 @@ +export interface RemoveLevel { + /** The ID of the issue security scheme. */ + schemeId: string; + /** The ID of the issue security level to remove. */ + levelId: string; + /** The ID of the issue security level that will replace the currently selected level. */ + replaceWith?: string; +} diff --git a/src/version3/parameters/removeMemberFromSecurityLevel.ts b/src/version3/parameters/removeMemberFromSecurityLevel.ts new file mode 100644 index 0000000000..6a880e85e2 --- /dev/null +++ b/src/version3/parameters/removeMemberFromSecurityLevel.ts @@ -0,0 +1,8 @@ +export interface RemoveMemberFromSecurityLevel { + /** The ID of the issue security scheme. */ + schemeId: string; + /** The ID of the issue security level. */ + levelId: string; + /** The ID of the issue security level member to be removed. */ + memberId: string; +} diff --git a/src/version3/parameters/searchProjectsUsingSecuritySchemes.ts b/src/version3/parameters/searchProjectsUsingSecuritySchemes.ts new file mode 100644 index 0000000000..6e2ee07020 --- /dev/null +++ b/src/version3/parameters/searchProjectsUsingSecuritySchemes.ts @@ -0,0 +1,10 @@ +export interface SearchProjectsUsingSecuritySchemes { + /** The index of the first item to return in a page of results (page offset). */ + startAt?: string; + /** The maximum number of items to return per page. */ + maxResults?: string; + /** The list of security scheme IDs to be filtered out. */ + issueSecuritySchemeId?: string[]; + /** The list of project IDs to be filtered out. */ + projectId?: string[]; +} diff --git a/src/version3/parameters/searchSecuritySchemes.ts b/src/version3/parameters/searchSecuritySchemes.ts new file mode 100644 index 0000000000..eb6b6edc62 --- /dev/null +++ b/src/version3/parameters/searchSecuritySchemes.ts @@ -0,0 +1,16 @@ +export interface SearchSecuritySchemes { + /** The index of the first item to return in a page of results (page offset). */ + startAt?: string; + /** The maximum number of items to return per page. */ + maxResults?: string; + /** + * The list of issue security scheme IDs. To include multiple issue security scheme IDs, separate IDs with an + * ampersand: `id=10000&id=10001`. + */ + id?: string[]; + /** + * The list of project IDs. To include multiple project IDs, separate IDs with an ampersand: + * `projectId=10000&projectId=10001`. + */ + projectId?: string[]; +} diff --git a/src/version3/parameters/setDefaultLevels.ts b/src/version3/parameters/setDefaultLevels.ts new file mode 100644 index 0000000000..5162dac472 --- /dev/null +++ b/src/version3/parameters/setDefaultLevels.ts @@ -0,0 +1,3 @@ +import { SetDefaultLevelsRequest } from '../models'; + +export interface SetDefaultLevels extends SetDefaultLevelsRequest {} diff --git a/src/version3/parameters/updateIssueSecurityScheme.ts b/src/version3/parameters/updateIssueSecurityScheme.ts new file mode 100644 index 0000000000..a8487768b9 --- /dev/null +++ b/src/version3/parameters/updateIssueSecurityScheme.ts @@ -0,0 +1,6 @@ +import { UpdateIssueSecuritySchemeRequest } from '../models'; + +export interface UpdateIssueSecurityScheme extends UpdateIssueSecuritySchemeRequest { + /** The ID of the issue security scheme. */ + id: string; +} diff --git a/src/version3/parameters/updateSecurityLevel.ts b/src/version3/parameters/updateSecurityLevel.ts new file mode 100644 index 0000000000..0ae179629d --- /dev/null +++ b/src/version3/parameters/updateSecurityLevel.ts @@ -0,0 +1,8 @@ +import { UpdateIssueSecurityLevelDetails } from '../models'; + +export interface UpdateSecurityLevel extends UpdateIssueSecurityLevelDetails { + /** The ID of the issue security scheme level belongs to. */ + schemeId: string; + /** The ID of the issue security level to update. */ + levelId: string; +} diff --git a/src/version3/projectAvatars.ts b/src/version3/projectAvatars.ts index 04763aa5eb..f343761268 100644 --- a/src/version3/projectAvatars.ts +++ b/src/version3/projectAvatars.ts @@ -35,12 +35,12 @@ export class ProjectAvatars { url: `/rest/api/3/project/${parameters.projectIdOrKey}/avatar`, method: 'PUT', data: { + fileName: parameters.fileName, id: parameters.id, - owner: parameters.owner, - isSystemAvatar: parameters.isSystemAvatar, - isSelected: parameters.isSelected, isDeletable: parameters.isDeletable, - fileName: parameters.fileName, + isSelected: parameters.isSelected, + isSystemAvatar: parameters.isSystemAvatar, + owner: parameters.owner, urls: parameters.urls, }, }; diff --git a/src/version3/projects.ts b/src/version3/projects.ts index ee1c2a5f09..0cd130f8e9 100644 --- a/src/version3/projects.ts +++ b/src/version3/projects.ts @@ -41,8 +41,8 @@ export class Projects { method: 'GET', params: { expand: parameters?.expand, - recent: parameters?.recent, properties: parameters?.properties, + recent: parameters?.recent, }, }; @@ -52,11 +52,11 @@ export class Projects { /** * Creates a project based on a project type template, as shown in the following table: * - * | Project Type Key | Project Template Key | - * | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - * | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | - * | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-finance-service-desk` | - * | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | + * | Project Type Key | Project Template Key | + * | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | + * | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-finance-service-desk` | + * | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-cross-team-template`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | * * The project types are available according to the installed Jira features as follows: * @@ -79,11 +79,11 @@ export class Projects { /** * Creates a project based on a project type template, as shown in the following table: * - * | Project Type Key | Project Template Key | - * | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - * | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | - * | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-finance-service-desk` | - * | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | + * | Project Type Key | Project Template Key | + * | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | + * | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-finance-service-desk` | + * | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-cross-team-template`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | * * The project types are available according to the installed Jira features as follows: * @@ -111,24 +111,24 @@ export class Projects { url: '/rest/api/3/project', method: 'POST', data: { - key: parameters.key, - name: parameters.name, - description: parameters.description, - lead: parameters.lead, - leadAccountId: parameters.leadAccountId, - url: parameters.url, assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, + categoryId: parameters.categoryId, + description: parameters.description, + fieldConfigurationScheme: parameters.fieldConfigurationScheme, issueSecurityScheme: parameters.issueSecurityScheme, - permissionScheme: parameters.permissionScheme, + issueTypeScheme: parameters.issueTypeScheme, + issueTypeScreenScheme: parameters.issueTypeScreenScheme, + key: parameters.key, + lead: parameters.lead, + leadAccountId: parameters.leadAccountId, + name: parameters.name, notificationScheme: parameters.notificationScheme, - categoryId: parameters.categoryId, - projectTypeKey: parameters.projectTypeKey, + permissionScheme: parameters.permissionScheme, projectTemplateKey: parameters.projectTemplateKey, + projectTypeKey: parameters.projectTypeKey, + url: parameters.url, workflowScheme: parameters.workflowScheme, - issueTypeScreenScheme: parameters.issueTypeScreenScheme, - issueTypeScheme: parameters.issueTypeScheme, - fieldConfigurationScheme: parameters.fieldConfigurationScheme, }, }; @@ -216,19 +216,19 @@ export class Projects { url: '/rest/api/3/project/search', method: 'GET', params: { - startAt: parameters?.startAt, - maxResults: parameters?.maxResults, - orderBy: parameters?.orderBy, - id: parameters?.id, - keys: parameters?.keys, - query: parameters?.query, - typeKey: parameters?.typeKey, - categoryId: parameters?.categoryId, action: parameters?.action, + categoryId: parameters?.categoryId, expand: parameters?.expand, - status: parameters?.status, + id: parameters?.id, + keys: parameters?.keys, + maxResults: parameters?.maxResults, + orderBy: parameters?.orderBy, properties: parameters?.properties, propertyQuery: parameters?.propertyQuery, + query: parameters?.query, + startAt: parameters?.startAt, + status: parameters?.status, + typeKey: parameters?.typeKey, }, }; @@ -303,20 +303,20 @@ export class Projects { expand: parameters.expand, }, data: { - key: parameters.key, - name: parameters.name, - projectTypeKey: parameters.projectTypeKey, - projectTemplateKey: parameters.projectTemplateKey, - description: parameters.description, - lead: parameters.lead, - leadAccountId: parameters.leadAccountId, - url: parameters.url, assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, + categoryId: parameters.categoryId, + description: parameters.description, issueSecurityScheme: parameters.issueSecurityScheme, - permissionScheme: parameters.permissionScheme, + key: parameters.key, + lead: parameters.lead, + leadAccountId: parameters.leadAccountId, + name: parameters.name, notificationScheme: parameters.notificationScheme, - categoryId: parameters.categoryId, + permissionScheme: parameters.permissionScheme, + projectTemplateKey: parameters.projectTemplateKey, + projectTypeKey: parameters.projectTypeKey, + url: parameters.url, }, }; @@ -396,7 +396,7 @@ export class Projects { * This operation is: * * - Transactional, that is, if part of the delete fails the project is not deleted. - * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the + * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the * `location` link in the response to determine the status of the task and use [Get * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. * @@ -413,7 +413,7 @@ export class Projects { * This operation is: * * - Transactional, that is, if part of the delete fails the project is not deleted. - * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the + * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the * `location` link in the response to determine the status of the task and use [Get * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. * @@ -597,8 +597,6 @@ export class Projects { * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** - * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project * permission](https://confluence.atlassian.com/x/yodKLg). */ async getNotificationSchemeForProject( @@ -611,8 +609,6 @@ export class Projects { * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** - * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project * permission](https://confluence.atlassian.com/x/yodKLg). */ async getNotificationSchemeForProject( diff --git a/src/version3/users.ts b/src/version3/users.ts index 72b93cd50a..f5c1840b4b 100644 --- a/src/version3/users.ts +++ b/src/version3/users.ts @@ -36,9 +36,9 @@ export class Users { method: 'GET', params: { accountId: parameters?.accountId, - username: parameters?.username, - key: parameters?.key, expand: parameters?.expand, + key: parameters?.key, + username: parameters?.username, }, }; @@ -72,13 +72,13 @@ export class Users { url: '/rest/api/3/user', method: 'POST', data: { - self: parameters.self, + applicationKeys: parameters.applicationKeys, + displayName: parameters.displayName, + emailAddress: parameters.emailAddress, key: parameters.key, name: parameters.name, password: parameters.password, - emailAddress: parameters.emailAddress, - displayName: parameters.displayName, - applicationKeys: parameters.applicationKeys, + self: parameters.self, }, }; @@ -107,8 +107,8 @@ export class Users { method: 'DELETE', params: { accountId: parameters.accountId, - username: parameters.username, key: parameters.key, + username: parameters.username, }, }; @@ -139,11 +139,11 @@ export class Users { url: '/rest/api/3/user/bulk', method: 'GET', params: { - startAt: parameters.startAt, + accountId: paramSerializer('accountId', parameters.accountId), + key: parameters.key, maxResults: parameters.maxResults, + startAt: parameters.startAt, username: parameters.username, - key: parameters.key, - accountId: paramSerializer('accountId', parameters.accountId), }, }; @@ -180,10 +180,10 @@ export class Users { url: '/rest/api/3/user/bulk/migration', method: 'GET', params: { - startAt: parameters.startAt, + key: paramSerializer('key', parameters.key), maxResults: parameters.maxResults, + startAt: parameters.startAt, username: paramSerializer('username', parameters.username), - key: paramSerializer('key', parameters.key), }, }; @@ -407,8 +407,8 @@ export class Users { method: 'GET', params: { accountId: parameters.accountId, - username: parameters.username, key: parameters.key, + username: parameters.username, }, }; @@ -450,8 +450,8 @@ export class Users { url: '/rest/api/3/users', method: 'GET', params: { - startAt: parameters?.startAt, maxResults: parameters?.maxResults, + startAt: parameters?.startAt, }, }; @@ -490,8 +490,8 @@ export class Users { url: '/rest/api/3/users/search', method: 'GET', params: { - startAt: parameters?.startAt, maxResults: parameters?.maxResults, + startAt: parameters?.startAt, }, }; diff --git a/src/version3/workflowTransitionRules.ts b/src/version3/workflowTransitionRules.ts index b06e5b436b..21d2a8e41d 100644 --- a/src/version3/workflowTransitionRules.ts +++ b/src/version3/workflowTransitionRules.ts @@ -16,13 +16,16 @@ export class WorkflowTransitionRules { * functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/). * - Matching one or more transition rule keys. * - * Only workflows containing transition rules created by the calling Connect app are returned. + * Only workflows containing transition rules created by the calling + * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or + * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned. * * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be * ignored. * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only - * Connect apps can use this operation. + * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or + * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation. */ async getWorkflowTransitionRuleConfigurations( parameters: Parameters.GetWorkflowTransitionRuleConfigurations, @@ -37,13 +40,16 @@ export class WorkflowTransitionRules { * functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/). * - Matching one or more transition rule keys. * - * Only workflows containing transition rules created by the calling Connect app are returned. + * Only workflows containing transition rules created by the calling + * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or + * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned. * * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be * ignored. * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only - * Connect apps can use this operation. + * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or + * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation. */ async getWorkflowTransitionRuleConfigurations( parameters: Parameters.GetWorkflowTransitionRuleConfigurations,