diff --git a/README.md b/README.md index a7784fb5c8..202116c09b 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ const client = new Version3Client({ Errors are categorized as: - `HttpException`: Server responded with an error (includes parsed error details) -- `AxiosError`: Network/configuration issues (e.g., timeouts) +- `Error`: Network/configuration issues (e.g., timeouts) **Example handling:** @@ -136,7 +136,7 @@ try { if (error instanceof HttpException) { console.error('Server error:', error.message); console.debug('Response headers:', error.cause.response?.headers); - } else if (error instanceof AxiosError) { + } else if (error instanceof Error) { console.error('Network error:', error.code); } else { console.error('Unexpected error:', error); diff --git a/examples/.editorconfig b/examples/.editorconfig deleted file mode 100644 index ee9cffb8bd..0000000000 --- a/examples/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -tab_width = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 120 diff --git a/examples/.gitignore b/examples/.gitignore deleted file mode 100644 index 490df5cea1..0000000000 --- a/examples/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.idea/ -node_modules/ -src/credentials.ts - -.DS_Store diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 34566f01d5..0000000000 --- a/examples/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# Jira.js Usage Examples - -This guide provides examples of using the [`jira.js`](https://github.com/MrRefactoring/jira.js) library to interact with Jira's API. These examples will help you get started with common operations like creating a project, adding a task, adding a worklog, and retrieving all worklogs. - -## Table of contents - -1. [Getting Started](#getting-started) -2. [Examples](#examples) - * [Basic Example](#basic-example) - * [Add Worklog Example](#add-worklog-example) - * [Get All Worklogs Example](#get-all-worklogs-example) - -## Getting Started - -Before you start running the examples, make sure to complete the following steps: - -1. **Install Dependencies**: The examples require certain Node.js packages to run. Install these dependencies by running the command: - -```console -npm i -``` - -2. **Setup Credentials:** The jira.js library uses your Jira's `host`, `email`, and `apiToken` to authenticate requests. Specify these in the `src/credentials.ts` file: - -```typescript -const host = 'https://your-domain.atlassian.net'; -const email = 'YOUR_EMAIL'; -const apiToken = 'YOUR_API_TOKEN'; -``` - -## Examples - -Here are some examples of what you can do with `jira.js`: - -### Basic Example - -This example creates a new project and a new task in that project. - -⚠️ **NOTE:** The script first checks if you have any existing projects. -If you do, it creates a new task in the first project it finds. -If you don't, it creates a new project with the key **PROJECT** and the name **My Project**, -and then creates a task in that project. - -To run this example, use the command: - -```console -npm run basic -``` - ---- - -### Add Worklog Example - -This example creates a new task in the first project it finds and adds a worklog to it. - -⚠️ **NOTE:** If you don't have any existing projects, you should run the [Basic Example](#basic-example) first to create a project. -One new Worklog will be added. - -To run this example, use the command: - -```console -npm run addWorklog -``` - ---- - -### Get All Worklogs Example - -This example creates a new task, adds a worklog to it, -and then retrieves all the worklogs that have been added to the task. - -⚠️ **NOTE:** Similar to the Add Worklog Example, you should have an existing project before running this example. -If you don't, run the Basic Example first. - -To run this example, use the command: - -```console -npm run getAllWorklogs -``` diff --git a/examples/package-lock.json b/examples/package-lock.json deleted file mode 100644 index d2c23c991e..0000000000 --- a/examples/package-lock.json +++ /dev/null @@ -1,355 +0,0 @@ -{ - "name": "jira.js-examples", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "jira.js-examples", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "jira.js": "latest" - }, - "devDependencies": { - "@types/node": "^22.5.4", - "ts-node": "^10.9.2", - "typescript": "^5.5.4" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "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, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.5.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", - "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", - "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jira.js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jira.js/-/jira.js-4.0.1.tgz", - "integrity": "sha512-2zf8LozW9rgx5wgTdGSJMhUXDK1g8a/ngm1xDWnREX/h8kuBhNkMro4XELA2XRVvaNTbRMIK3PBgOvWFDddhIw==", - "license": "MIT", - "dependencies": { - "axios": "^1.7.2", - "form-data": "^4.0.0", - "tslib": "^2.6.3" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" - }, - "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - } - } -} diff --git a/examples/package.json b/examples/package.json deleted file mode 100644 index d0746d51c5..0000000000 --- a/examples/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "jira.js-examples", - "private": true, - "version": "1.0.0", - "description": "", - "author": "Vladislav Tupikin ", - "scripts": { - "basic": "ts-node src/basic.ts", - "addWorklog": "ts-node src/addWorklog.ts", - "getAllWorklogs": "ts-node src/getAllWorklogs.ts", - "addFixVersion": "ts-node src/addFixVersion.ts" - }, - "license": "MIT", - "devDependencies": { - "@types/node": "^22.5.4", - "ts-node": "^10.9.2", - "typescript": "^5.5.4" - }, - "dependencies": { - "jira.js": "latest" - } -} diff --git a/examples/src/addFixVersion.ts b/examples/src/addFixVersion.ts deleted file mode 100644 index 2803ade7f2..0000000000 --- a/examples/src/addFixVersion.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Version3Client } from 'jira.js'; -import { createIssue } from './utils'; -import { apiToken, email, host } from './credentials'; - -async function addFixVersion() { - const client = new Version3Client({ - host, - authentication: { - basic: { email, apiToken }, - }, - }); - - const { id: issueIdOrKey } = await createIssue(client); - - const fix = await client.issueProperties.setIssueProperty({ - issueIdOrKey, - propertyKey: 'fixVersion', - propertyValue: 'N/a', - }); - - console.log(fix); -} - -addFixVersion().catch(e => { - console.error(e); - - throw new Error(e.errorMessages?.join(' ')); -}); diff --git a/examples/src/addWorklog.ts b/examples/src/addWorklog.ts deleted file mode 100644 index 2b9fefc932..0000000000 --- a/examples/src/addWorklog.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Version3Client } from 'jira.js'; -import { createIssue } from './utils'; -import { apiToken, email, host } from './credentials'; - -async function addWorklog() { - const client = new Version3Client({ - host, - authentication: { - basic: { email, apiToken }, - }, - }); - - // Used to reduce the amount of code that is not directly related to creating a worklog - const { id: issueIdOrKey } = await createIssue(client); - - // The main part responsible for creating the worklog - const worklog = await client.issueWorklogs.addWorklog({ - issueIdOrKey, // Required - comment: 'My first worklog', // Not requited - timeSpentSeconds: 60, // Required one of `timeSpentSeconds` or `timeSpent` - }); - - console.log(`Worklog successfully added for Issue Id: ${worklog.issueId}`); -} - -addWorklog().catch(e => { - console.error(e); - - throw new Error(e.errorMessages.join(' ')); -}); diff --git a/examples/src/basic.ts b/examples/src/basic.ts deleted file mode 100644 index 0905c3a07e..0000000000 --- a/examples/src/basic.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Version3Client } from 'jira.js'; -import { apiToken, email, host } from './credentials'; - -const client = new Version3Client({ - host, - authentication: { - basic: { email, apiToken }, - }, -}); - -async function main() { - const { values: projects } = await client.projects.searchProjects(); - - if (projects.length) { - const project = projects[0]; - - const { id } = await client.issues.createIssue({ - fields: { - summary: 'My first issue', - issuetype: { - name: 'Task', - }, - project: { - key: project.key, - }, - }, - }); - - const issue = await client.issues.getIssue({ issueIdOrKey: id }); - - console.log(`Issue '${issue.fields.summary}' was successfully added to '${project.name}' project.`); - } else { - const myself = await client.myself.getCurrentUser(); - - const { id } = await client.projects.createProject({ - key: 'PROJECT', - name: 'My Project', - leadAccountId: myself.accountId, - projectTypeKey: 'software', - }); - - const project = await client.projects.getProject({ projectIdOrKey: id.toString() }); - - console.log(`Project '${project.name}' was successfully created.`); - } -} - -main() - .catch(e => { - console.error(e); - - throw new Error(JSON.stringify(e)); - }); diff --git a/examples/src/credentials.ts b/examples/src/credentials.ts deleted file mode 100644 index 64b7a7a9bd..0000000000 --- a/examples/src/credentials.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const host = ''; -export const email = ''; -export const apiToken = ''; - -if (!host) { - throw new Error('Please specify host'); -} else if (!email) { - throw new Error('Please specify email'); -} else if (!apiToken) { - throw new Error('Please specify apiToken'); -} diff --git a/examples/src/getAllWorklogs.ts b/examples/src/getAllWorklogs.ts deleted file mode 100644 index 04d4bc49d8..0000000000 --- a/examples/src/getAllWorklogs.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Version3Client } from 'jira.js'; -import { addWorklog, createIssue } from './utils'; -import { apiToken, email, host } from './credentials'; - -async function getAllWorklogs() { - const client = new Version3Client({ - host, - authentication: { - basic: { email, apiToken }, - }, - }); - - // Used to reduce the amount of code that is not directly related to getting a worklogs - const issue = await createIssue(client); - - // Let's add some worklogs - await addWorklog(client, issue); - await addWorklog(client, issue); - await addWorklog(client, issue); - - // The main part responsible for getting the worklogs - const worklogs = []; - - let offset = 0; - let total = 0; - - do { - const worklogsPaginated = await client.issueWorklogs.getIssueWorklog({ issueIdOrKey: issue.key, startAt: offset }); - - offset += worklogsPaginated.worklogs.length; - total = worklogsPaginated.total; - worklogs.push(...worklogsPaginated.worklogs); - } while (offset < total); - - console.log(`Received ${worklogs.length} worklogs.`); -} - -getAllWorklogs().catch(e => { - console.error(e); - - throw new Error(e.errorMessages.join(' ')); -}); diff --git a/examples/src/utils/addWorklog.ts b/examples/src/utils/addWorklog.ts deleted file mode 100644 index fb0bae502f..0000000000 --- a/examples/src/utils/addWorklog.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Version3Client, Version3Models } from 'jira.js'; - -export const addWorklog = async (client: Version3Client, issue: Version3Models.Issue) => { - await client.issueWorklogs.addWorklog({ - issueIdOrKey: issue.id, - comment: 'My first worklog', - timeSpentSeconds: 60, - }); -}; diff --git a/examples/src/utils/createIssue.ts b/examples/src/utils/createIssue.ts deleted file mode 100644 index 1e37f20eef..0000000000 --- a/examples/src/utils/createIssue.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Version3Client } from 'jira.js'; - -export const createIssue = async (client: Version3Client) => { - const { values: projects } = await client.projects.searchProjects(); - - if (projects.length) { - const { key } = projects[0]; - - const { id } = await client.issues.createIssue({ - fields: { - summary: 'My first issue', - issuetype: { - name: 'Task', - }, - project: { - key, - }, - }, - }); - - return client.issues.getIssue({ issueIdOrKey: id }); - } - - throw new Error('First create a project'); -}; diff --git a/examples/src/utils/index.ts b/examples/src/utils/index.ts deleted file mode 100644 index f229bb1407..0000000000 --- a/examples/src/utils/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './addWorklog'; -export * from './createIssue'; diff --git a/package.json b/package.json index bdc64ede63..edbd338189 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jira.js", - "version": "5.2.2", + "version": "6.0.0", "description": "A comprehensive JavaScript/TypeScript library designed for both Node.JS and browsers, facilitating seamless interaction with the Atlassian Jira API.", "repository": "https://github.com/MrRefactoring/jira.js.git", "homepage": "https://mrrefactoring.github.io/jira.js", @@ -63,8 +63,7 @@ "rest-client", "http-client", "esm", - "cjs", - "axios" + "cjs" ], "engines": { "node": ">=20" @@ -116,26 +115,25 @@ "code:formatting": "pnpm run replace:all && pnpm run prettier && pnpm run lint:fix && pnpm run replace:fixCodeBlockSemicolons" }, "dependencies": { - "axios": "^1.10.0", "mime": "^4.0.7", "zod": "^3.25.76" }, "devDependencies": { - "@eslint/js": "^9.31.0", + "@eslint/js": "^9.32.0", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-typescript": "^12.1.4", - "@stylistic/eslint-plugin": "^5.2.1", + "@stylistic/eslint-plugin": "^5.2.2", "@types/node": "^20.19.9", "@types/sinon": "^17.0.4", - "dotenv": "^17.2.0", - "eslint": "^9.31.0", + "dotenv": "^17.2.1", + "eslint": "^9.32.0", "globals": "^16.3.0", - "jiti": "^2.4.2", + "jiti": "^2.5.1", "prettier": "^3.6.2", "prettier-plugin-jsdoc": "^1.3.3", - "rollup": "^4.45.1", + "rollup": "^4.46.0", "rollup-plugin-esnext-to-nodenext": "^1.0.1", "rollup-plugin-node-externals": "^8.0.1", "sinon": "^21.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b84e3b4574..3adc1068a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,6 @@ importers: .: dependencies: - axios: - specifier: ^1.10.0 - version: 1.10.0 mime: specifier: ^4.0.7 version: 4.0.7 @@ -19,23 +16,23 @@ importers: version: 3.25.76 devDependencies: '@eslint/js': - specifier: ^9.31.0 - version: 9.31.0 + specifier: ^9.32.0 + version: 9.32.0 '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@4.45.1) + version: 5.1.1(rollup@4.46.0) '@rollup/plugin-commonjs': specifier: ^28.0.6 - version: 28.0.6(rollup@4.45.1) + version: 28.0.6(rollup@4.46.0) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.45.1) + version: 16.0.1(rollup@4.46.0) '@rollup/plugin-typescript': specifier: ^12.1.4 - version: 12.1.4(rollup@4.45.1)(tslib@2.8.1)(typescript@5.8.3) + version: 12.1.4(rollup@4.46.0)(tslib@2.8.1)(typescript@5.8.3) '@stylistic/eslint-plugin': - specifier: ^5.2.1 - version: 5.2.1(eslint@9.31.0(jiti@2.4.2)) + specifier: ^5.2.2 + version: 5.2.2(eslint@9.32.0(jiti@2.5.1)) '@types/node': specifier: ^20.19.9 version: 20.19.9 @@ -43,17 +40,17 @@ importers: specifier: ^17.0.4 version: 17.0.4 dotenv: - specifier: ^17.2.0 - version: 17.2.0 + specifier: ^17.2.1 + version: 17.2.1 eslint: - specifier: ^9.31.0 - version: 9.31.0(jiti@2.4.2) + specifier: ^9.32.0 + version: 9.32.0(jiti@2.5.1) globals: specifier: ^16.3.0 version: 16.3.0 jiti: - specifier: ^2.4.2 - version: 2.4.2 + specifier: ^2.5.1 + version: 2.5.1 prettier: specifier: ^3.6.2 version: 3.6.2 @@ -61,14 +58,14 @@ importers: specifier: ^1.3.3 version: 1.3.3(prettier@3.6.2) rollup: - specifier: ^4.45.1 - version: 4.45.1 + specifier: ^4.46.0 + version: 4.46.0 rollup-plugin-esnext-to-nodenext: specifier: ^1.0.1 - version: 1.0.1(rollup@4.45.1) + version: 1.0.1(rollup@4.46.0) rollup-plugin-node-externals: specifier: ^8.0.1 - version: 8.0.1(rollup@4.45.1) + version: 8.0.1(rollup@4.46.0) sinon: specifier: ^21.0.0 version: 21.0.0 @@ -83,10 +80,10 @@ importers: version: 5.8.3 typescript-eslint: specifier: ^8.38.0 - version: 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0) packages: @@ -272,8 +269,8 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.31.0': - resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==} + '@eslint/js@9.32.0': + resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -371,103 +368,103 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.45.1': - resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} + '@rollup/rollup-android-arm-eabi@4.46.0': + resolution: {integrity: sha512-9f3nSTFI2ivfxc7/tHBHcJ8pRnp8ROrELvsVprlQPVvcZ+j5zztYd+PTJGpyIOAdTvNwNrpCXswKSeoQcyGjMQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.45.1': - resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} + '@rollup/rollup-android-arm64@4.46.0': + resolution: {integrity: sha512-tFZSEhqJ8Yrpe50TzOdeoYi72gi/jsnT7y8Qrozf3cNu28WX+s6I3XzEPUAqoaT9SAS8Xz9AzGTFlxxCH/w20w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.45.1': - resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} + '@rollup/rollup-darwin-arm64@4.46.0': + resolution: {integrity: sha512-+DikIIs+p6yU2hF51UaWG8BnHbq90X0QIOt5zqSKSZxY+G3qqdLih214e9InJal21af2PuuxkDectetGfbVPJw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.45.1': - resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} + '@rollup/rollup-darwin-x64@4.46.0': + resolution: {integrity: sha512-5a+NofhdEB/WimSlFMskbFQn1vqz1FWryYpA99trmZGO6qEmiS0IsX6w4B3d91U878Q2ZQdiaFF1gxX4P147og==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.45.1': - resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} + '@rollup/rollup-freebsd-arm64@4.46.0': + resolution: {integrity: sha512-igr/RlKPS3OCy4jD3XBmAmo3UAcNZkJSubRsw1JeM8bAbwf15k/3eMZXD91bnjheijJiOJcga3kfCLKjV8IXNg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.45.1': - resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} + '@rollup/rollup-freebsd-x64@4.46.0': + resolution: {integrity: sha512-MdigWzPSHlQzB1xZ+MdFDWTAH+kcn7UxjEBoOKuaso7z1DRlnAnrknB1mTtNOQ+GdPI8xgExAGwHeqQjntR0Cg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': - resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.46.0': + resolution: {integrity: sha512-dmZseE0ZwA/4yy1+BwFrDqFTjjNg24GO9xSrb1weVbt6AFkhp5pz1gVS7IMtfIvoWy8yp6q/zN0bKnefRUImvQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.45.1': - resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} + '@rollup/rollup-linux-arm-musleabihf@4.46.0': + resolution: {integrity: sha512-fzhfn6p9Cfm3W8UrWKIa4l7Wfjs/KGdgaswMBBE3KY3Ta43jg2XsPrAtfezHpsRk0Nx+TFuS3hZk/To2N5kFPQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.45.1': - resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} + '@rollup/rollup-linux-arm64-gnu@4.46.0': + resolution: {integrity: sha512-vVDD+iPDPmJQ5nAQ5Tifq3ywdv60FartglFI8VOCK+hcU9aoG0qlQTsDJP97O5yiTaTqlneZWoARMcVC5nyUoQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.45.1': - resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} + '@rollup/rollup-linux-arm64-musl@4.46.0': + resolution: {integrity: sha512-0d0jx08fzDHCzXqrtCMEEyxKU0SvJrWmUjUDE2/KDQ2UDJql0tfiwYvEx1oHELClKO8CNdE+AGJj+RqXscZpdQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': - resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} + '@rollup/rollup-linux-loongarch64-gnu@4.46.0': + resolution: {integrity: sha512-XBYu9oW9eKJadWn8M7hkTZsD4yG+RrsTrVEgyKwb4L72cpJjRbRboTG9Lg9fec8MxJp/cfTHAocg4mnismQR8A==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': - resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} + '@rollup/rollup-linux-ppc64-gnu@4.46.0': + resolution: {integrity: sha512-wJaRvcT17PoOK6Ggcfo3nouFlybHvARBS4jzT0PC/lg17fIJHcDS2fZz3sD+iA4nRlho2zE6OGbU0HvwATdokQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.45.1': - resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} + '@rollup/rollup-linux-riscv64-gnu@4.46.0': + resolution: {integrity: sha512-GZ5bkMFteAGkcmh8x0Ok4LSa+L62Ez0tMsHPX6JtR0wl4Xc3bQcrFHDiR5DGLEDFtGrXih4Nd/UDaFqs968/wA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.45.1': - resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} + '@rollup/rollup-linux-riscv64-musl@4.46.0': + resolution: {integrity: sha512-7CjPw6FflFsVOUfWOrVrREiV3IYXG4RzZ1ZQUaT3BtSK8YXN6x286o+sruPZJESIaPebYuFowmg54ZdrkVBYog==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.45.1': - resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} + '@rollup/rollup-linux-s390x-gnu@4.46.0': + resolution: {integrity: sha512-nmvnl0ZiuysltcB/cKjUh40Rx4FbSyueERDsl2FLvLYr6pCgSsvGr3SocUT84svSpmloS7f1DRWqtRha74Gi1w==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.45.1': - resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} + '@rollup/rollup-linux-x64-gnu@4.46.0': + resolution: {integrity: sha512-Cv+moII5C8RM6gZbR3cb21o6rquVDZrN2o81maROg1LFzBz2dZUwIQSxFA8GtGZ/F2KtsqQ2z3eFPBb6akvQNg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.45.1': - resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} + '@rollup/rollup-linux-x64-musl@4.46.0': + resolution: {integrity: sha512-PHcMG8DZTM9RCIjp8QIfN0VYtX0TtBPnWOTRurFhoCDoi9zptUZL2k7pCs+5rgut7JAiUsYy+huyhVKPcmxoog==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.45.1': - resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} + '@rollup/rollup-win32-arm64-msvc@4.46.0': + resolution: {integrity: sha512-1SI/Rd47e8aQJeFWMDg16ET+fjvCcD/CzeaRmIEPmb05hx+3cCcwIF4ebUag4yTt/D1peE+Mgp0+Po3M358cAA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.45.1': - resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} + '@rollup/rollup-win32-ia32-msvc@4.46.0': + resolution: {integrity: sha512-JwOCYxmumFDfDhx4kNyz6kTVK3gWzBIvVdMNzQMRDubcoGRDniOOmo6DDNP42qwZx3Bp9/6vWJ+kNzNqXoHmeA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.45.1': - resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} + '@rollup/rollup-win32-x64-msvc@4.46.0': + resolution: {integrity: sha512-IPMIfrfkG1GaEXi+JSsQEx8x9b4b+hRZXO7KYc2pKio3zO2/VDXDs6B9Ts/nnO+25Fk1tdAVtUn60HKKPPzDig==} cpu: [x64] os: [win32] @@ -492,11 +489,11 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - '@sinonjs/samsam@8.0.2': - resolution: {integrity: sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==} + '@sinonjs/samsam@8.0.3': + resolution: {integrity: sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==} - '@stylistic/eslint-plugin@5.2.1': - resolution: {integrity: sha512-siNoKzQ0EJOfCrMFyA1wMtv1+t2OVH00PTXR9kZXji7AUVhL1TiumIF0Iufa2aqR3oOKsxjc/a8PiB9ANNW3+g==} + '@stylistic/eslint-plugin@5.2.2': + resolution: {integrity: sha512-bE2DUjruqXlHYP3Q2Gpqiuj2bHq7/88FnuaS0FjeGGLCy+X6a07bGVuwtiOYnPSLHR6jmx5Bwdv+j7l8H+G97A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -652,12 +649,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - axios@1.10.0: - resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} - balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -678,10 +669,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -708,10 +695,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -749,10 +732,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -764,37 +743,17 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} - dotenv@17.2.0: - resolution: {integrity: sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==} + dotenv@17.2.1: + resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==} engines: {node: '>=12'} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - esbuild@0.25.8: resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} engines: {node: '>=18'} @@ -816,8 +775,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.31.0: - resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==} + eslint@9.32.0: + resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -899,19 +858,6 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data@4.0.4: - resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} - engines: {node: '>= 6'} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -920,14 +866,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -944,10 +882,6 @@ packages: resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} engines: {node: '>=18'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -955,14 +889,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -1008,8 +934,8 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true js-tokens@9.0.1: @@ -1042,15 +968,11 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - loupe@3.1.4: - resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} + loupe@3.2.0: + resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -1062,10 +984,6 @@ packages: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - mdast-util-from-markdown@2.0.2: resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} @@ -1146,14 +1064,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - mime@4.0.7: resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} engines: {node: '>=16'} @@ -1241,9 +1151,6 @@ packages: engines: {node: '>=14'} hasBin: true - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -1280,8 +1187,8 @@ packages: peerDependencies: rollup: ^4.0.0 - rollup@4.45.1: - resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} + rollup@4.46.0: + resolution: {integrity: sha512-ONmkT3Ud3IfW15nl7l4qAZko5/2iZ5ALVBDh02ZSZ5IGVLJSYkRcRa3iB58VyEIyoofs9m2xdVrm+lTi97+3pw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1419,8 +1326,8 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@7.0.5: - resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==} + vite@7.0.6: + resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1593,9 +1500,9 @@ snapshots: '@esbuild/win32-x64@0.25.8': optional: true - '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.32.0(jiti@2.5.1))': dependencies: - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -1628,7 +1535,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.31.0': {} + '@eslint/js@9.32.0': {} '@eslint/object-schema@2.1.6': {} @@ -1672,13 +1579,13 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@rollup/plugin-alias@5.1.1(rollup@4.45.1)': + '@rollup/plugin-alias@5.1.1(rollup@4.46.0)': optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.0 - '@rollup/plugin-commonjs@28.0.6(rollup@4.45.1)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.46.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.3) @@ -1686,93 +1593,93 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.3 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.45.1)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.0)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.0 - '@rollup/plugin-typescript@12.1.4(rollup@4.45.1)(tslib@2.8.1)(typescript@5.8.3)': + '@rollup/plugin-typescript@12.1.4(rollup@4.46.0)(tslib@2.8.1)(typescript@5.8.3)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.0) resolve: 1.22.10 typescript: 5.8.3 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.0 tslib: 2.8.1 - '@rollup/pluginutils@5.2.0(rollup@4.45.1)': + '@rollup/pluginutils@5.2.0(rollup@4.46.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.0 - '@rollup/rollup-android-arm-eabi@4.45.1': + '@rollup/rollup-android-arm-eabi@4.46.0': optional: true - '@rollup/rollup-android-arm64@4.45.1': + '@rollup/rollup-android-arm64@4.46.0': optional: true - '@rollup/rollup-darwin-arm64@4.45.1': + '@rollup/rollup-darwin-arm64@4.46.0': optional: true - '@rollup/rollup-darwin-x64@4.45.1': + '@rollup/rollup-darwin-x64@4.46.0': optional: true - '@rollup/rollup-freebsd-arm64@4.45.1': + '@rollup/rollup-freebsd-arm64@4.46.0': optional: true - '@rollup/rollup-freebsd-x64@4.45.1': + '@rollup/rollup-freebsd-x64@4.46.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + '@rollup/rollup-linux-arm-gnueabihf@4.46.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.45.1': + '@rollup/rollup-linux-arm-musleabihf@4.46.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.45.1': + '@rollup/rollup-linux-arm64-gnu@4.46.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.45.1': + '@rollup/rollup-linux-arm64-musl@4.46.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + '@rollup/rollup-linux-loongarch64-gnu@4.46.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + '@rollup/rollup-linux-ppc64-gnu@4.46.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.45.1': + '@rollup/rollup-linux-riscv64-gnu@4.46.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.45.1': + '@rollup/rollup-linux-riscv64-musl@4.46.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.45.1': + '@rollup/rollup-linux-s390x-gnu@4.46.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.45.1': + '@rollup/rollup-linux-x64-gnu@4.46.0': optional: true - '@rollup/rollup-linux-x64-musl@4.45.1': + '@rollup/rollup-linux-x64-musl@4.46.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.45.1': + '@rollup/rollup-win32-arm64-msvc@4.46.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.45.1': + '@rollup/rollup-win32-ia32-msvc@4.46.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.45.1': + '@rollup/rollup-win32-x64-msvc@4.46.0': optional: true '@shikijs/engine-oniguruma@3.8.1': @@ -1803,17 +1710,16 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/samsam@8.0.2': + '@sinonjs/samsam@8.0.3': dependencies: '@sinonjs/commons': 3.0.1 - lodash.get: 4.4.2 type-detect: 4.1.0 - '@stylistic/eslint-plugin@5.2.1(eslint@9.31.0(jiti@2.4.2))': + '@stylistic/eslint-plugin@5.2.2(eslint@9.32.0(jiti@2.5.1))': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/types': 8.38.0 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -1857,15 +1763,15 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/scope-manager': 8.38.0 - '@typescript-eslint/type-utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.38.0 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -1874,14 +1780,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -1904,13 +1810,13 @@ snapshots: dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) debug: 4.4.1 - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: @@ -1934,13 +1840,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + eslint: 9.32.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -1958,13 +1864,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0) + vite: 7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -1989,7 +1895,7 @@ snapshots: '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 - loupe: 3.1.4 + loupe: 3.2.0 tinyrainbow: 2.0.0 acorn-jsx@5.3.2(acorn@8.15.0): @@ -2013,16 +1919,6 @@ snapshots: assertion-error@2.0.1: {} - asynckit@0.4.0: {} - - axios@1.10.0: - dependencies: - follow-redirects: 1.15.9 - form-data: 4.0.4 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - balanced-match@1.0.2: {} binary-searching@2.0.5: {} @@ -2042,11 +1938,6 @@ snapshots: cac@6.7.14: {} - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - callsites@3.1.0: {} chai@5.2.1: @@ -2054,7 +1945,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.4 + loupe: 3.2.0 pathval: 2.0.1 chalk@4.1.2: @@ -2072,10 +1963,6 @@ snapshots: color-name@1.1.4: {} - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - comment-parser@1.4.1: {} commondir@1.0.1: {} @@ -2102,8 +1989,6 @@ snapshots: deepmerge@4.3.1: {} - delayed-stream@1.0.0: {} - dequal@2.0.3: {} devlop@1.1.0: @@ -2112,33 +1997,12 @@ snapshots: diff@7.0.0: {} - dotenv@17.2.0: {} - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 + dotenv@17.2.1: {} entities@4.5.0: {} - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - es-module-lexer@1.7.0: {} - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - esbuild@0.25.8: optionalDependencies: '@esbuild/aix-ppc64': 0.25.8 @@ -2179,15 +2043,15 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.31.0(jiti@2.4.2): + eslint@9.32.0(jiti@2.5.1): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.0 '@eslint/core': 0.15.1 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.31.0 + '@eslint/js': 9.32.0 '@eslint/plugin-kit': 0.3.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -2217,7 +2081,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.2 + jiti: 2.5.1 transitivePeerDependencies: - supports-color @@ -2289,39 +2153,11 @@ snapshots: flatted@3.3.3: {} - follow-redirects@1.15.9: {} - - form-data@4.0.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - fsevents@2.3.3: optional: true function-bind@1.1.2: {} - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -2334,18 +2170,10 @@ snapshots: globals@16.3.0: {} - gopd@1.2.0: {} - graphemer@1.4.0: {} has-flag@4.0.0: {} - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -2381,7 +2209,7 @@ snapshots: isexe@2.0.0: {} - jiti@2.4.2: {} + jiti@2.5.1: {} js-tokens@9.0.1: {} @@ -2412,11 +2240,9 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.get@4.4.2: {} - lodash.merge@4.6.2: {} - loupe@3.1.4: {} + loupe@3.2.0: {} lunr@2.3.9: {} @@ -2433,8 +2259,6 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - math-intrinsics@1.1.0: {} - mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 @@ -2598,12 +2422,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - mime@4.0.7: {} minimatch@3.1.2: @@ -2676,8 +2494,6 @@ snapshots: prettier@3.6.2: {} - proxy-from-env@1.1.0: {} - punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -2694,39 +2510,39 @@ snapshots: reusify@1.1.0: {} - rollup-plugin-esnext-to-nodenext@1.0.1(rollup@4.45.1): + rollup-plugin-esnext-to-nodenext@1.0.1(rollup@4.46.0): dependencies: - rollup: 4.45.1 + rollup: 4.46.0 ts-add-js-extension: 1.6.6 - rollup-plugin-node-externals@8.0.1(rollup@4.45.1): + rollup-plugin-node-externals@8.0.1(rollup@4.46.0): dependencies: - rollup: 4.45.1 + rollup: 4.46.0 - rollup@4.45.1: + rollup@4.46.0: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.45.1 - '@rollup/rollup-android-arm64': 4.45.1 - '@rollup/rollup-darwin-arm64': 4.45.1 - '@rollup/rollup-darwin-x64': 4.45.1 - '@rollup/rollup-freebsd-arm64': 4.45.1 - '@rollup/rollup-freebsd-x64': 4.45.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 - '@rollup/rollup-linux-arm-musleabihf': 4.45.1 - '@rollup/rollup-linux-arm64-gnu': 4.45.1 - '@rollup/rollup-linux-arm64-musl': 4.45.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-musl': 4.45.1 - '@rollup/rollup-linux-s390x-gnu': 4.45.1 - '@rollup/rollup-linux-x64-gnu': 4.45.1 - '@rollup/rollup-linux-x64-musl': 4.45.1 - '@rollup/rollup-win32-arm64-msvc': 4.45.1 - '@rollup/rollup-win32-ia32-msvc': 4.45.1 - '@rollup/rollup-win32-x64-msvc': 4.45.1 + '@rollup/rollup-android-arm-eabi': 4.46.0 + '@rollup/rollup-android-arm64': 4.46.0 + '@rollup/rollup-darwin-arm64': 4.46.0 + '@rollup/rollup-darwin-x64': 4.46.0 + '@rollup/rollup-freebsd-arm64': 4.46.0 + '@rollup/rollup-freebsd-x64': 4.46.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.0 + '@rollup/rollup-linux-arm-musleabihf': 4.46.0 + '@rollup/rollup-linux-arm64-gnu': 4.46.0 + '@rollup/rollup-linux-arm64-musl': 4.46.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.0 + '@rollup/rollup-linux-ppc64-gnu': 4.46.0 + '@rollup/rollup-linux-riscv64-gnu': 4.46.0 + '@rollup/rollup-linux-riscv64-musl': 4.46.0 + '@rollup/rollup-linux-s390x-gnu': 4.46.0 + '@rollup/rollup-linux-x64-gnu': 4.46.0 + '@rollup/rollup-linux-x64-musl': 4.46.0 + '@rollup/rollup-win32-arm64-msvc': 4.46.0 + '@rollup/rollup-win32-ia32-msvc': 4.46.0 + '@rollup/rollup-win32-x64-msvc': 4.46.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -2747,7 +2563,7 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 13.0.5 - '@sinonjs/samsam': 8.0.2 + '@sinonjs/samsam': 8.0.3 diff: 7.0.0 supports-color: 7.2.0 @@ -2815,13 +2631,13 @@ snapshots: typescript: 5.8.3 yaml: 2.8.0 - typescript-eslint@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.31.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.31.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + eslint: 9.32.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -2840,13 +2656,13 @@ snapshots: dependencies: punycode: 2.3.1 - vite-node@3.2.4(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0): + vite-node@3.2.4(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0) + vite: 7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -2861,25 +2677,25 @@ snapshots: - tsx - yaml - vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0): + vite@7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.45.1 + rollup: 4.46.0 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 20.19.9 fsevents: 2.3.3 - jiti: 2.4.2 + jiti: 2.5.1 yaml: 2.8.0 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -2897,8 +2713,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@20.19.9)(jiti@2.4.2)(yaml@2.8.0) + vite: 7.0.6(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@20.19.9)(jiti@2.5.1)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 diff --git a/src/agile/backlog.ts b/src/agile/backlog.ts index 696fc20b38..4553c41072 100644 --- a/src/agile/backlog.ts +++ b/src/agile/backlog.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Backlog { constructor(private client: Client) {} @@ -18,19 +18,16 @@ export class Backlog { * be moved at once. */ async moveIssuesToBacklog(parameters: Parameters.MoveIssuesToBacklog, callback?: never): Promise; - async moveIssuesToBacklog( - parameters: Parameters.MoveIssuesToBacklog, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveIssuesToBacklog(parameters: Parameters.MoveIssuesToBacklog): Promise { + const config: Request = { url: '/rest/agile/1.0/backlog/issue', method: 'POST', - data: { + body: { issues: parameters.issues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -53,14 +50,11 @@ export class Backlog { parameters: Parameters.MoveIssuesToBacklogForBoard, callback?: never, ): Promise; - async moveIssuesToBacklogForBoard( - parameters: Parameters.MoveIssuesToBacklogForBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveIssuesToBacklogForBoard(parameters: Parameters.MoveIssuesToBacklogForBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/backlog/${parameters.boardId}/issue`, method: 'POST', - data: { + body: { issues: parameters.issues, rankAfterIssue: parameters.rankAfterIssue, rankBeforeIssue: parameters.rankBeforeIssue, @@ -68,6 +62,6 @@ export class Backlog { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/board.ts b/src/agile/board.ts index 1bce01f836..9f4c90d257 100644 --- a/src/agile/board.ts +++ b/src/agile/board.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import type { Paginated } from '../paginated'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Board { constructor(private client: Client) {} @@ -27,14 +27,11 @@ export class Board { * - `read:board-scope:jira-software`, `read:project:jira` */ async getAllBoards(parameters?: Parameters.GetAllBoards, callback?: never): Promise; - async getAllBoards( - parameters?: Parameters.GetAllBoards, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllBoards(parameters?: Parameters.GetAllBoards): Promise { + const config: Request = { url: '/rest/agile/1.0/board', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, type: parameters?.type, @@ -51,7 +48,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -110,14 +107,11 @@ export class Board { * board. */ async createBoard(parameters: Parameters.CreateBoard, callback?: never): Promise; - async createBoard( - parameters: Parameters.CreateBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createBoard(parameters: Parameters.CreateBoard): Promise { + const config: Request = { url: '/rest/agile/1.0/board', method: 'POST', - data: { + body: { filterId: parameters.filterId, location: parameters.location, name: parameters.name, @@ -125,7 +119,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -146,18 +140,17 @@ export class Board { ): Promise; async getBoardByFilterId( parameters: Parameters.GetBoardByFilterId, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/filter/${parameters.filterId}`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -172,26 +165,26 @@ export class Board { * data (board location for instance). */ async getBoard(parameters: Parameters.GetBoard, callback?: never): Promise; - async getBoard(parameters: Parameters.GetBoard, callback?: Callback): Promise { - const config: RequestConfig = { + async getBoard(parameters: Parameters.GetBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Deletes the board. Admin without the view permission can still remove the board. */ async deleteBoard(parameters: Parameters.DeleteBoard, callback: Callback): Promise; /** Deletes the board. Admin without the view permission can still remove the board. */ async deleteBoard(parameters: Parameters.DeleteBoard, callback?: never): Promise; - async deleteBoard(parameters: Parameters.DeleteBoard, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteBoard(parameters: Parameters.DeleteBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -216,14 +209,11 @@ export class Board { parameters: Parameters.GetIssuesForBacklog, callback?: never, ): Promise; - async getIssuesForBacklog( - parameters: Parameters.GetIssuesForBacklog, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesForBacklog(parameters: Parameters.GetIssuesForBacklog): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/backlog`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -233,7 +223,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -286,16 +276,13 @@ export class Board { parameters: Parameters.GetConfiguration, callback?: never, ): Promise; - async getConfiguration( - parameters: Parameters.GetConfiguration, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getConfiguration(parameters: Parameters.GetConfiguration): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/configuration`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,21 +295,18 @@ export class Board { * view. Note, if the user does not have permission to view the board, no epics will be returned at all. */ async getEpics>(parameters: Parameters.GetEpics, callback?: never): Promise; - async getEpics>( - parameters: Parameters.GetEpics, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getEpics>(parameters: Parameters.GetEpics): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/epic`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, done: parameters.done, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -345,12 +329,11 @@ export class Board { ): Promise; async getIssuesWithoutEpicForBoard( parameters: Parameters.GetIssuesWithoutEpicForBoard, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/epic/none/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -360,7 +343,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -383,12 +366,11 @@ export class Board { ): Promise; async getBoardIssuesForEpic( parameters: Parameters.GetBoardIssuesForEpic, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/epic/${parameters.epicId}/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -398,7 +380,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } async getFeaturesForBoard( @@ -411,14 +393,13 @@ export class Board { ): Promise; async getFeaturesForBoard( parameters: Parameters.GetFeaturesForBoard, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/features`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } async toggleFeatures( @@ -426,17 +407,14 @@ export class Board { callback: Callback, ): Promise; async toggleFeatures(parameters: Parameters.ToggleFeatures, callback?: never): Promise; - async toggleFeatures( - parameters: Parameters.ToggleFeatures, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async toggleFeatures(parameters: Parameters.ToggleFeatures): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/features`, method: 'PUT', - data: parameters.body, + body: parameters.body, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -461,14 +439,11 @@ export class Board { parameters: Parameters.GetIssuesForBoard, callback?: never, ): Promise; - async getIssuesForBoard( - parameters: Parameters.GetIssuesForBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesForBoard(parameters: Parameters.GetIssuesForBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -478,7 +453,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -495,14 +470,11 @@ export class Board { * once. */ async moveIssuesToBoard(parameters: Parameters.MoveIssuesToBoard, callback?: never): Promise; - async moveIssuesToBoard( - parameters: Parameters.MoveIssuesToBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveIssuesToBoard(parameters: Parameters.MoveIssuesToBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/issue`, method: 'POST', - data: { + body: { issues: parameters.issues, rankAfterIssue: parameters.rankAfterIssue, rankBeforeIssue: parameters.rankBeforeIssue, @@ -510,7 +482,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -548,20 +520,17 @@ export class Board { * scrum boards. */ async getProjects>(parameters: Parameters.GetProjects, callback?: never): Promise; - async getProjects>( - parameters: Parameters.GetProjects, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjects>(parameters: Parameters.GetProjects): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/project`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -591,16 +560,13 @@ export class Board { * any project. */ async getProjectsFull(parameters: Parameters.GetProjectsFull, callback?: never): Promise; - async getProjectsFull( - parameters: Parameters.GetProjectsFull, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjectsFull(parameters: Parameters.GetProjectsFull): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/project/full`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -616,16 +582,13 @@ export class Board { * required to have permissions to view the board. */ async getBoardPropertyKeys(parameters: Parameters.GetBoardPropertyKeys, callback?: never): Promise; - async getBoardPropertyKeys( - parameters: Parameters.GetBoardPropertyKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBoardPropertyKeys(parameters: Parameters.GetBoardPropertyKeys): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -638,16 +601,13 @@ export class Board { * retrieves the property is required to have permissions to view the board. */ async getBoardProperty(parameters: Parameters.GetBoardProperty, callback?: never): Promise; - async getBoardProperty( - parameters: Parameters.GetBoardProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBoardProperty(parameters: Parameters.GetBoardProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -664,16 +624,13 @@ export class Board { * data is required to have permissions to modify the board. */ async setBoardProperty(parameters: Parameters.SetBoardProperty, callback?: never): Promise; - async setBoardProperty( - parameters: Parameters.SetBoardProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setBoardProperty(parameters: Parameters.SetBoardProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -686,16 +643,13 @@ export class Board { * permissions to modify the board. */ async deleteBoardProperty(parameters: Parameters.DeleteBoardProperty, callback?: never): Promise; - async deleteBoardProperty( - parameters: Parameters.DeleteBoardProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteBoardProperty(parameters: Parameters.DeleteBoardProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns all quick filters from a board, for a given board ID. */ @@ -710,18 +664,17 @@ export class Board { ): Promise; async getAllQuickFilters( parameters: Parameters.GetAllQuickFilters, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/quickfilter`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -737,16 +690,13 @@ export class Board { * the board that the quick filter belongs to. */ async getQuickFilter(parameters: Parameters.GetQuickFilter, callback?: never): Promise; - async getQuickFilter( - parameters: Parameters.GetQuickFilter, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getQuickFilter(parameters: Parameters.GetQuickFilter): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/quickfilter/${parameters.quickFilterId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } async getReportsForBoard( @@ -759,14 +709,13 @@ export class Board { ): Promise; async getReportsForBoard( parameters: Parameters.GetReportsForBoard, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/reports`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -782,21 +731,18 @@ export class Board { * view. */ async getAllSprints>(parameters: Parameters.GetAllSprints, callback?: never): Promise; - async getAllSprints>( - parameters: Parameters.GetAllSprints, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllSprints>(parameters: Parameters.GetAllSprints): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/sprint`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, state: parameters.state, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -817,14 +763,11 @@ export class Board { parameters: Parameters.GetBoardIssuesForSprint, callback?: never, ): Promise; - async getBoardIssuesForSprint( - parameters: Parameters.GetBoardIssuesForSprint, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBoardIssuesForSprint(parameters: Parameters.GetBoardIssuesForSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/sprint/${parameters.sprintId}/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -834,7 +777,7 @@ export class Board { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -857,20 +800,17 @@ export class Board { parameters: Parameters.GetAllVersions, callback?: never, ): Promise; - async getAllVersions>( - parameters: Parameters.GetAllVersions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllVersions>(parameters: Parameters.GetAllVersions): Promise { + const config: Request = { url: `/rest/agile/1.0/board/${parameters.boardId}/version`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, released: parameters.released, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/builds.ts b/src/agile/builds.ts index 84467d6060..3398fcfd53 100644 --- a/src/agile/builds.ts +++ b/src/agile/builds.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Builds { constructor(private client: Client) {} @@ -46,21 +46,18 @@ export class Builds { * resource. This resource requires the 'WRITE' scope for Connect apps. */ async submitBuilds(parameters: Parameters.SubmitBuilds, callback?: never): Promise; - async submitBuilds( - parameters: Parameters.SubmitBuilds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitBuilds(parameters: Parameters.SubmitBuilds): Promise { + const config: Request = { url: '/rest/builds/0.1/bulk', method: 'POST', - data: { + body: { properties: parameters.properties, builds: parameters.builds, providerMetadata: parameters.providerMetadata, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,19 +102,16 @@ export class Builds { parameters: Parameters.DeleteBuildsByProperty, callback?: never, ): Promise; - async deleteBuildsByProperty( - parameters: Parameters.DeleteBuildsByProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteBuildsByProperty(parameters: Parameters.DeleteBuildsByProperty): Promise { + const config: Request = { url: '/rest/builds/0.1/bulkByProperties', method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -141,16 +135,13 @@ export class Builds { * resource. This resource requires the 'READ' scope for Connect apps. */ async getBuildByKey(parameters: Parameters.GetBuildByKey, callback?: never): Promise; - async getBuildByKey( - parameters: Parameters.GetBuildByKey, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBuildByKey(parameters: Parameters.GetBuildByKey): Promise { + const config: Request = { url: `/rest/builds/0.1/pipelines/${parameters.pipelineId}/builds/${parameters.buildNumber}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -173,18 +164,15 @@ export class Builds { * resource. This resource requires the 'DELETE' scope for Connect apps. */ async deleteBuildByKey(parameters: Parameters.DeleteBuildByKey, callback?: never): Promise; - async deleteBuildByKey( - parameters: Parameters.DeleteBuildByKey, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteBuildByKey(parameters: Parameters.DeleteBuildByKey): Promise { + const config: Request = { url: `/rest/builds/0.1/pipelines/${parameters.pipelineId}/builds/${parameters.buildNumber}`, method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/deployments.ts b/src/agile/deployments.ts index 179a5b8aae..ea9060dcab 100644 --- a/src/agile/deployments.ts +++ b/src/agile/deployments.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Deployments { constructor(private client: Client) {} @@ -49,21 +49,18 @@ export class Deployments { parameters: Parameters.SubmitDeployments, callback?: never, ): Promise; - async submitDeployments( - parameters: Parameters.SubmitDeployments, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitDeployments(parameters: Parameters.SubmitDeployments): Promise { + const config: Request = { url: '/rest/deployments/0.1/bulk', method: 'POST', - data: { + body: { properties: parameters.properties, deployments: parameters.deployments, providerMetadata: parameters.providerMetadata, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -108,17 +105,16 @@ export class Deployments { ): Promise; async deleteDeploymentsByProperty( parameters: Parameters.DeleteDeploymentsByProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/deployments/0.1/bulkByProperties', method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,14 +145,13 @@ export class Deployments { ): Promise; async getDeploymentByKey( parameters: Parameters.GetDeploymentByKey, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/deployments/0.1/pipelines/${parameters.pipelineId}/environments/${parameters.environmentId}/deployments/${parameters.deploymentSequenceNumber}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -184,19 +179,16 @@ export class Deployments { * resource. This resource requires the 'DELETE' scope for Connect apps. */ async deleteDeploymentByKey(parameters: Parameters.DeleteDeploymentByKey, callback?: never): Promise; - async deleteDeploymentByKey( - parameters: Parameters.DeleteDeploymentByKey, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteDeploymentByKey(parameters: Parameters.DeleteDeploymentByKey): Promise { + const config: Request = { url: `/rest/deployments/0.1/pipelines/${parameters.pipelineId}/environments/${parameters.environmentId}/deployments/${parameters.deploymentSequenceNumber}`, method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -219,13 +211,12 @@ export class Deployments { ): Promise; async getDeploymentGatingStatusByKey( parameters: Parameters.GetDeploymentGatingStatusByKey, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/deployments/0.1/pipelines/${parameters.pipelineId}/environments/${parameters.environmentId}/deployments/${parameters.deploymentSequenceNumber}/gating-status`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/developmentInformation.ts b/src/agile/developmentInformation.ts index 5766901b5e..a41060e593 100644 --- a/src/agile/developmentInformation.ts +++ b/src/agile/developmentInformation.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class DevelopmentInformation { constructor(private client: Client) {} @@ -31,12 +31,11 @@ export class DevelopmentInformation { ): Promise; async storeDevelopmentInformation( parameters: Parameters.StoreDevelopmentInformation, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/devinfo/0.10/bulk', method: 'POST', - data: { + body: { repositories: parameters.repositories, preventTransitions: parameters.preventTransitions, operationType: parameters.operationType, @@ -45,7 +44,7 @@ export class DevelopmentInformation { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -61,16 +60,13 @@ export class DevelopmentInformation { * The result will be what is currently stored, ignoring any pending updates or deletes. */ async getRepository(parameters: Parameters.GetRepository, callback?: never): Promise; - async getRepository( - parameters: Parameters.GetRepository, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRepository(parameters: Parameters.GetRepository): Promise { + const config: Request = { url: `/rest/devinfo/0.10/repository/${parameters.repositoryId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -83,19 +79,16 @@ export class DevelopmentInformation { * performed asynchronously. */ async deleteRepository(parameters: Parameters.DeleteRepository, callback?: never): Promise; - async deleteRepository( - parameters: Parameters.DeleteRepository, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRepository(parameters: Parameters.DeleteRepository): Promise { + const config: Request = { url: `/rest/devinfo/0.10/repository/${parameters.repositoryId}`, method: 'DELETE', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -119,19 +112,16 @@ export class DevelopmentInformation { * entities will eventually be removed from Jira. */ async deleteByProperties(parameters: Parameters.DeleteByProperties, callback?: never): Promise; - async deleteByProperties( - parameters: Parameters.DeleteByProperties, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteByProperties(parameters: Parameters.DeleteByProperties): Promise { + const config: Request = { url: '/rest/devinfo/0.10/bulkByProperties', method: 'DELETE', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -158,32 +148,31 @@ export class DevelopmentInformation { ): Promise; async existsByProperties( parameters: Parameters.ExistsByProperties, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/devinfo/0.10/existsByProperties', method: 'GET', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Deletes particular development information entity. Deletion is performed asynchronously. */ async deleteEntity(parameters: Parameters.DeleteEntity, callback: Callback): Promise; /** Deletes particular development information entity. Deletion is performed asynchronously. */ async deleteEntity(parameters: Parameters.DeleteEntity, callback?: never): Promise; - async deleteEntity(parameters: Parameters.DeleteEntity, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteEntity(parameters: Parameters.DeleteEntity): Promise { + const config: Request = { url: `/rest/devinfo/0.10/repository/${parameters.repositoryId}/${parameters.entityType}/${parameters.entityId}`, method: 'DELETE', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/devopsComponents.ts b/src/agile/devopsComponents.ts index 30a3678966..90d37d1e86 100644 --- a/src/agile/devopsComponents.ts +++ b/src/agile/devopsComponents.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class DevopsComponents { constructor(private client: Client) {} @@ -51,21 +51,18 @@ export class DevopsComponents { parameters: Parameters.SubmitComponents, callback?: never, ): Promise; - async submitComponents( - parameters: Parameters.SubmitComponents, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitComponents(parameters: Parameters.SubmitComponents): Promise { + const config: Request = { url: '/rest/devopscomponents/1.0/bulk', method: 'POST', - data: { + body: { properties: parameters.properties, components: parameters.components, providerMetadata: parameters.providerMetadata, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,17 +103,14 @@ export class DevopsComponents { parameters: Parameters.DeleteComponentsByProperty, callback?: never, ): Promise; - async deleteComponentsByProperty( - parameters: Parameters.DeleteComponentsByProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteComponentsByProperty(parameters: Parameters.DeleteComponentsByProperty): Promise { + const config: Request = { url: '/rest/devopscomponents/1.0/bulkByProperties', method: 'DELETE', - params: parameters, + query: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -143,16 +137,13 @@ export class DevopsComponents { parameters: Parameters.GetComponentById, callback?: never, ): Promise; - async getComponentById( - parameters: Parameters.GetComponentById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getComponentById(parameters: Parameters.GetComponentById): Promise { + const config: Request = { url: `/rest/devopscomponents/1.0/${parameters.componentId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -175,15 +166,12 @@ export class DevopsComponents { * requires the 'DELETE' scope for Connect apps. */ async deleteComponentById(parameters: Parameters.DeleteComponentById, callback?: never): Promise; - async deleteComponentById( - parameters: Parameters.DeleteComponentById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteComponentById(parameters: Parameters.DeleteComponentById): Promise { + const config: Request = { url: `/rest/devopscomponents/1.0/${parameters.componentId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/epic.ts b/src/agile/epic.ts index 3b612faf49..c7b2953165 100644 --- a/src/agile/epic.ts +++ b/src/agile/epic.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Epic { constructor(private client: Client) {} @@ -32,14 +32,11 @@ export class Epic { * searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent). */ async getIssuesWithoutEpic(parameters?: Parameters.GetIssuesWithoutEpic, callback?: never): Promise; - async getIssuesWithoutEpic( - parameters?: Parameters.GetIssuesWithoutEpic, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesWithoutEpic(parameters?: Parameters.GetIssuesWithoutEpic): Promise { + const config: Request = { url: '/rest/agile/1.0/epic/none/issue', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, jql: parameters?.jql, @@ -49,7 +46,7 @@ export class Epic { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,19 +64,16 @@ export class Epic { * work for epics in next-gen projects. Instead, update the issue using `\{ fields: \{ parent: \{\} \} \}` */ async removeIssuesFromEpic(parameters?: Parameters.RemoveIssuesFromEpic, callback?: never): Promise; - async removeIssuesFromEpic( - parameters?: Parameters.RemoveIssuesFromEpic, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeIssuesFromEpic(parameters?: Parameters.RemoveIssuesFromEpic): Promise { + const config: Request = { url: '/rest/agile/1.0/epic/none/issue', method: 'POST', - data: { + body: { issues: parameters?.issues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -92,13 +86,13 @@ export class Epic { * **Note:** This operation does not work for epics in next-gen projects. */ async getEpic(parameters: Parameters.GetEpic, callback?: never): Promise; - async getEpic(parameters: Parameters.GetEpic, callback?: Callback): Promise { - const config: RequestConfig = { + async getEpic(parameters: Parameters.GetEpic): Promise { + const config: Request = { url: `/rest/agile/1.0/epic/${parameters.epicIdOrKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -116,14 +110,11 @@ export class Epic { * next-gen projects. */ async partiallyUpdateEpic(parameters: Parameters.PartiallyUpdateEpic, callback?: never): Promise; - async partiallyUpdateEpic( - parameters: Parameters.PartiallyUpdateEpic, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async partiallyUpdateEpic(parameters: Parameters.PartiallyUpdateEpic): Promise { + const config: Request = { url: `/rest/agile/1.0/epic/${parameters.epicIdOrKey}`, method: 'POST', - data: { + body: { color: parameters.color, done: parameters.done, name: parameters.name, @@ -131,7 +122,7 @@ export class Epic { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,14 +145,11 @@ export class Epic { * see [Advanced searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent). */ async getIssuesForEpic(parameters: Parameters.GetIssuesForEpic, callback?: never): Promise; - async getIssuesForEpic( - parameters: Parameters.GetIssuesForEpic, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesForEpic(parameters: Parameters.GetIssuesForEpic): Promise { + const config: Request = { url: `/rest/agile/1.0/epic/${parameters.epicIdOrKey}/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -171,7 +159,7 @@ export class Epic { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -188,16 +176,16 @@ export class Epic { * moved in one operation is 50. **Note:** This operation does not work for epics in next-gen projects. */ async moveIssuesToEpic(parameters: Parameters.MoveIssuesToEpic, callback?: never): Promise; - async moveIssuesToEpic(parameters: Parameters.MoveIssuesToEpic, callback?: Callback): Promise { - const config: RequestConfig = { + async moveIssuesToEpic(parameters: Parameters.MoveIssuesToEpic): Promise { + const config: Request = { url: `/rest/agile/1.0/epic/${parameters.epicIdOrKey}/issue`, method: 'POST', - data: { + body: { issues: parameters.issues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -216,17 +204,17 @@ export class Epic { * **Note:** This operation does not work for epics in next-gen projects. */ async rankEpics(parameters: Parameters.RankEpics, callback?: never): Promise; - async rankEpics(parameters: Parameters.RankEpics, callback?: Callback): Promise { - const config: RequestConfig = { + async rankEpics(parameters: Parameters.RankEpics): Promise { + const config: Request = { url: `/rest/agile/1.0/epic/${parameters.epicIdOrKey}/rank`, method: 'PUT', - data: { + body: { rankAfterEpic: parameters.rankAfterEpic, rankBeforeEpic: parameters.rankBeforeEpic, rankCustomFieldId: parameters.rankCustomFieldId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/featureFlags.ts b/src/agile/featureFlags.ts index 982b25c9ea..759df89538 100644 --- a/src/agile/featureFlags.ts +++ b/src/agile/featureFlags.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class FeatureFlags { constructor(private client: Client) {} @@ -49,19 +49,18 @@ export class FeatureFlags { ): Promise; async submitFeatureFlags( parameters: Parameters.SubmitFeatureFlags, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/featureflags/0.1/bulk', method: 'POST', - data: { + body: { properties: parameters.properties, flags: parameters.flags, providerMetadata: parameters.providerMetadata, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -104,17 +103,16 @@ export class FeatureFlags { ): Promise; async deleteFeatureFlagsByProperty( parameters: Parameters.DeleteFeatureFlagsByProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/featureflags/0.1/bulkByProperties', method: 'DELETE', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -143,14 +141,13 @@ export class FeatureFlags { ): Promise; async getFeatureFlagById( parameters: Parameters.GetFeatureFlagById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/featureflags/0.1/flag/${parameters.featureFlagId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -176,18 +173,15 @@ export class FeatureFlags { * requires the 'DELETE' scope for Connect apps. */ async deleteFeatureFlagById(parameters: Parameters.DeleteFeatureFlagById, callback?: never): Promise; - async deleteFeatureFlagById( - parameters: Parameters.DeleteFeatureFlagById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteFeatureFlagById(parameters: Parameters.DeleteFeatureFlagById): Promise { + const config: Request = { url: `/rest/featureflags/0.1/flag/${parameters.featureFlagId}`, method: 'DELETE', - params: { + query: { _updateSequenceId: parameters.updateSequenceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/issue.ts b/src/agile/issue.ts index 93b96bb05f..63fd7d9b29 100644 --- a/src/agile/issue.ts +++ b/src/agile/issue.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Issue { constructor(private client: Client) {} @@ -25,11 +25,11 @@ export class Issue { * If rankCustomFieldId is not defined, the default rank field will be used. */ async rankIssues(parameters: Parameters.RankIssues, callback?: never): Promise; - async rankIssues(parameters: Parameters.RankIssues, callback?: Callback): Promise { - const config: RequestConfig = { + async rankIssues(parameters: Parameters.RankIssues): Promise { + const config: Request = { url: '/rest/agile/1.0/issue/rank', method: 'PUT', - data: { + body: { issues: parameters.issues, rankAfterIssue: parameters.rankAfterIssue, rankBeforeIssue: parameters.rankBeforeIssue, @@ -37,7 +37,7 @@ export class Issue { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -50,18 +50,18 @@ export class Issue { * like sprint, closedSprints, flagged, and epic. */ async getIssue(parameters: Parameters.GetIssue, callback?: never): Promise; - async getIssue(parameters: Parameters.GetIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async getIssue(parameters: Parameters.GetIssue): Promise { + const config: Request = { url: `/rest/agile/1.0/issue/${parameters.issueIdOrKey}`, method: 'GET', - params: { + query: { fields: parameters.fields, expand: parameters.expand, updateHistory: parameters.updateHistory, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -92,19 +92,16 @@ export class Issue { parameters: Parameters.GetIssueEstimationForBoard, callback?: never, ): Promise; - async getIssueEstimationForBoard( - parameters: Parameters.GetIssueEstimationForBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueEstimationForBoard(parameters: Parameters.GetIssueEstimationForBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/issue/${parameters.issueIdOrKey}/estimation`, method: 'GET', - params: { + query: { boardId: parameters.boardId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -140,21 +137,18 @@ export class Issue { * resource](#api-rest-api-3-issue-issueIdOrKey-editmeta-get) or [field resource](#api-rest-api-3-field-get). */ async estimateIssueForBoard(parameters: Parameters.EstimateIssueForBoard, callback?: never): Promise; - async estimateIssueForBoard( - parameters: Parameters.EstimateIssueForBoard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async estimateIssueForBoard(parameters: Parameters.EstimateIssueForBoard): Promise { + const config: Request = { url: `/rest/agile/1.0/issue/${parameters.issueIdOrKey}/estimation`, method: 'PUT', - params: { + query: { boardId: parameters.boardId, }, - data: { + body: { value: parameters.value, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/operations.ts b/src/agile/operations.ts index 7e752c43e8..22be856ddb 100644 --- a/src/agile/operations.ts +++ b/src/agile/operations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Operations { constructor(private client: Client) {} @@ -33,17 +33,16 @@ export class Operations { ): Promise; async submitOperationsWorkspaces( parameters: Parameters.SubmitOperationsWorkspaces, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/operations/1.0/linkedWorkspaces/bulk', method: 'POST', - data: { + body: { workspaceIds: parameters.workspaceIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -64,16 +63,16 @@ export class Operations { * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666 */ async deleteWorkspaces(parameters: Parameters.DeleteWorkspaces, callback?: never): Promise; - async deleteWorkspaces(parameters: Parameters.DeleteWorkspaces, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteWorkspaces(parameters: Parameters.DeleteWorkspaces): Promise { + const config: Request = { url: '/rest/operations/1.0/linkedWorkspaces/bulk', method: 'DELETE', - params: { + query: { workspaceIds: parameters.workspaceIds.join(','), }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -103,19 +102,16 @@ export class Operations { * requires the 'READ' scope for Connect apps. */ async getWorkspaces(parameters: Parameters.GetWorkspaces, callback?: never): Promise; - async getWorkspaces( - parameters: Parameters.GetWorkspaces, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getWorkspaces(parameters: Parameters.GetWorkspaces): Promise { + const config: Request = { url: '/rest/operations/1.0/linkedWorkspaces', method: 'GET', - params: { + query: { workspaceId: parameters.workspaceId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -161,17 +157,14 @@ export class Operations { * requires the 'WRITE' scope for Connect apps. */ async submitEntity(parameters: Parameters.SubmitEntity, callback?: never): Promise; - async submitEntity( - parameters: Parameters.SubmitEntity, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitEntity(parameters: Parameters.SubmitEntity): Promise { + const config: Request = { url: '/rest/operations/1.0/bulk', method: 'POST', - data: parameters, + body: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,17 +205,14 @@ export class Operations { parameters: Parameters.DeleteEntityByProperty, callback?: never, ): Promise; - async deleteEntityByProperty( - parameters: Parameters.DeleteEntityByProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteEntityByProperty(parameters: Parameters.DeleteEntityByProperty): Promise { + const config: Request = { url: '/rest/operations/1.0/bulkByProperties', method: 'DELETE', - params: parameters, + query: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -249,16 +239,13 @@ export class Operations { parameters: Parameters.GetIncidentById, callback?: never, ): Promise; - async getIncidentById( - parameters: Parameters.GetIncidentById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIncidentById(parameters: Parameters.GetIncidentById): Promise { + const config: Request = { url: `/rest/operations/1.0/incidents/${parameters.incidentId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -281,16 +268,13 @@ export class Operations { * requires the 'DELETE' scope for Connect apps. */ async deleteIncidentById(parameters: Parameters.DeleteIncidentById, callback?: never): Promise; - async deleteIncidentById( - parameters: Parameters.DeleteIncidentById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIncidentById(parameters: Parameters.DeleteIncidentById): Promise { + const config: Request = { url: `/rest/operations/1.0/incidents/${parameters.incidentId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -314,16 +298,13 @@ export class Operations { * requires the 'READ' scope for Connect apps. */ async getReviewById(parameters: Parameters.GetReviewById, callback?: never): Promise; - async getReviewById( - parameters: Parameters.GetReviewById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getReviewById(parameters: Parameters.GetReviewById): Promise { + const config: Request = { url: `/rest/operations/1.0/post-incident-reviews/${parameters.reviewId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -346,12 +327,12 @@ export class Operations { * requires the 'DELETE' scope for Connect apps. */ async deleteReviewById(parameters: Parameters.DeleteReviewById, callback?: never): Promise; - async deleteReviewById(parameters: Parameters.DeleteReviewById, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteReviewById(parameters: Parameters.DeleteReviewById): Promise { + const config: Request = { url: `/rest/operations/1.0/post-incident-reviews/${parameters.reviewId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/remoteLinks.ts b/src/agile/remoteLinks.ts index 4d13ae851f..6f0cf76bda 100644 --- a/src/agile/remoteLinks.ts +++ b/src/agile/remoteLinks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class RemoteLinks { constructor(private client: Client) {} @@ -47,21 +47,18 @@ export class RemoteLinks { parameters: Parameters.SubmitRemoteLinks, callback?: never, ): Promise; - async submitRemoteLinks( - parameters: Parameters.SubmitRemoteLinks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitRemoteLinks(parameters: Parameters.SubmitRemoteLinks): Promise { + const config: Request = { url: '/rest/remotelinks/1.0/bulk', method: 'POST', - data: { + body: { properties: parameters.properties, remoteLinks: parameters.remoteLinks, providerMetadata: parameters.providerMetadata, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -108,18 +105,17 @@ export class RemoteLinks { ): Promise; async deleteRemoteLinksByProperty( parameters: Parameters.DeleteRemoteLinksByProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/remotelinks/1.0/bulkByProperties', method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, params: parameters.params, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -146,16 +142,13 @@ export class RemoteLinks { parameters: Parameters.GetRemoteLinkById, callback?: never, ): Promise; - async getRemoteLinkById( - parameters: Parameters.GetRemoteLinkById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRemoteLinkById(parameters: Parameters.GetRemoteLinkById): Promise { + const config: Request = { url: `/rest/remotelinks/1.0/remotelink/${parameters.remoteLinkId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -181,18 +174,15 @@ export class RemoteLinks { * resource. This resource requires the 'DELETE' scope for Connect apps. */ async deleteRemoteLinkById(parameters: Parameters.DeleteRemoteLinkById, callback?: never): Promise; - async deleteRemoteLinkById( - parameters: Parameters.DeleteRemoteLinkById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRemoteLinkById(parameters: Parameters.DeleteRemoteLinkById): Promise { + const config: Request = { url: `/rest/remotelinks/1.0/remotelink/${parameters.remoteLinkId}`, method: 'DELETE', - params: { + query: { _updateSequenceNumber: parameters.updateSequenceNumber, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/securityInformation.ts b/src/agile/securityInformation.ts index 39ff6ab9c1..e9813fc816 100644 --- a/src/agile/securityInformation.ts +++ b/src/agile/securityInformation.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class SecurityInformation { constructor(private client: Client) {} @@ -25,16 +25,16 @@ export class SecurityInformation { * requires the 'WRITE' scope for Connect apps. */ async submitWorkspaces(parameters: Parameters.SubmitWorkspaces, callback?: never): Promise; - async submitWorkspaces(parameters: Parameters.SubmitWorkspaces, callback?: Callback): Promise { - const config: RequestConfig = { + async submitWorkspaces(parameters: Parameters.SubmitWorkspaces): Promise { + const config: Request = { url: '/rest/security/1.0/linkedWorkspaces/bulk', method: 'POST', - data: { + body: { workspaceIds: parameters.workspaceIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -58,19 +58,16 @@ export class SecurityInformation { * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666 */ async deleteLinkedWorkspaces(parameters: Parameters.DeleteLinkedWorkspaces, callback?: never): Promise; - async deleteLinkedWorkspaces( - parameters: Parameters.DeleteLinkedWorkspaces, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteLinkedWorkspaces(parameters: Parameters.DeleteLinkedWorkspaces): Promise { + const config: Request = { url: '/rest/security/1.0/linkedWorkspaces/bulk', method: 'DELETE', - params: { + query: { workspaceIds: parameters.workspaceIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,23 +78,13 @@ export class SecurityInformation { * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource * requires the 'READ' scope for Connect apps. */ - async getLinkedWorkspaces(callback: Callback): Promise; - /** - * Retrieve all Security Workspaces linked with the Jira site. - * - * The result will be what is currently stored, ignoring any pending updates or deletes. - * - * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource - * requires the 'READ' scope for Connect apps. - */ - async getLinkedWorkspaces(callback?: never): Promise; - async getLinkedWorkspaces(callback?: Callback): Promise { - const config: RequestConfig = { + async getLinkedWorkspaces(): Promise { + const config: Request = { url: '/rest/security/1.0/linkedWorkspaces', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -126,14 +113,13 @@ export class SecurityInformation { ): Promise; async getLinkedWorkspaceById( parameters: Parameters.GetLinkedWorkspaceById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/security/1.0/linkedWorkspaces/${parameters.workspaceId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -182,12 +168,11 @@ export class SecurityInformation { ): Promise; async submitVulnerabilities( parameters: Parameters.SubmitVulnerabilities, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/security/1.0/bulk', method: 'POST', - data: { + body: { operationType: parameters.operationType, properties: parameters.properties, vulnerabilities: parameters.vulnerabilities, @@ -195,7 +180,7 @@ export class SecurityInformation { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,15 +223,14 @@ export class SecurityInformation { ): Promise; async deleteVulnerabilitiesByProperty( parameters: Parameters.DeleteVulnerabilitiesByProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/security/1.0/bulkByProperties', method: 'DELETE', - params: parameters, + query: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -275,14 +259,13 @@ export class SecurityInformation { ): Promise; async getVulnerabilityById( parameters: Parameters.GetVulnerabilityById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/security/1.0/vulnerability/${parameters.vulnerabilityId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,15 +291,12 @@ export class SecurityInformation { * requires the 'DELETE' scope for Connect apps. */ async deleteVulnerabilityById(parameters: Parameters.DeleteVulnerabilityById, callback?: never): Promise; - async deleteVulnerabilityById( - parameters: Parameters.DeleteVulnerabilityById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteVulnerabilityById(parameters: Parameters.DeleteVulnerabilityById): Promise { + const config: Request = { url: `/rest/security/1.0/vulnerability/${parameters.vulnerabilityId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/agile/sprint.ts b/src/agile/sprint.ts index ee13e864f6..d182f6ecf8 100644 --- a/src/agile/sprint.ts +++ b/src/agile/sprint.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Sprint { constructor(private client: Client) {} @@ -21,14 +21,11 @@ export class Sprint { * is ignored and instead the last sprint's duration is used to fill the form. */ async createSprint(parameters: Parameters.CreateSprint, callback?: never): Promise; - async createSprint( - parameters: Parameters.CreateSprint, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createSprint(parameters: Parameters.CreateSprint): Promise { + const config: Request = { url: '/rest/agile/1.0/sprint', method: 'POST', - data: { + body: { endDate: parameters.endDate, goal: parameters.goal, name: parameters.name, @@ -37,7 +34,7 @@ export class Sprint { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -50,13 +47,13 @@ export class Sprint { * sprint was created on, or view at least one of the issues in the sprint. */ async getSprint(parameters: Parameters.GetSprint, callback?: never): Promise; - async getSprint(parameters: Parameters.GetSprint, callback?: Callback): Promise { - const config: RequestConfig = { + async getSprint(parameters: Parameters.GetSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -95,14 +92,11 @@ export class Sprint { parameters: Parameters.PartiallyUpdateSprint, callback?: never, ): Promise; - async partiallyUpdateSprint( - parameters: Parameters.PartiallyUpdateSprint, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async partiallyUpdateSprint(parameters: Parameters.PartiallyUpdateSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}`, method: 'POST', - data: { + body: { completeDate: parameters.completeDate, createdDate: parameters.createdDate, endDate: parameters.endDate, @@ -116,7 +110,7 @@ export class Sprint { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,14 +143,11 @@ export class Sprint { * - The completeDate field cannot be updated manually. */ async updateSprint(parameters: Parameters.UpdateSprint, callback?: never): Promise; - async updateSprint( - parameters: Parameters.UpdateSprint, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateSprint(parameters: Parameters.UpdateSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}`, method: 'PUT', - data: { + body: { completeDate: parameters.completeDate, createdDate: parameters.createdDate, endDate: parameters.endDate, @@ -170,20 +161,20 @@ export class Sprint { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog. */ async deleteSprint(parameters: Parameters.DeleteSprint, callback: Callback): Promise; /** Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog. */ async deleteSprint(parameters: Parameters.DeleteSprint, callback?: never): Promise; - async deleteSprint(parameters: Parameters.DeleteSprint, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteSprint(parameters: Parameters.DeleteSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,14 +193,11 @@ export class Sprint { parameters: Parameters.GetIssuesForSprint, callback?: never, ): Promise; - async getIssuesForSprint( - parameters: Parameters.GetIssuesForSprint, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesForSprint(parameters: Parameters.GetIssuesForSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/issue`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, jql: parameters.jql, @@ -219,7 +207,7 @@ export class Sprint { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,14 +226,11 @@ export class Sprint { parameters: Parameters.MoveIssuesToSprintAndRank, callback?: never, ): Promise; - async moveIssuesToSprintAndRank( - parameters: Parameters.MoveIssuesToSprintAndRank, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveIssuesToSprintAndRank(parameters: Parameters.MoveIssuesToSprintAndRank): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/issue`, method: 'POST', - data: { + body: { issues: parameters.issues, rankAfterIssue: parameters.rankAfterIssue, rankBeforeIssue: parameters.rankBeforeIssue, @@ -253,7 +238,7 @@ export class Sprint { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -266,16 +251,13 @@ export class Sprint { * required to have permissions to view the sprint. */ async getPropertiesKeys(parameters: Parameters.GetPropertiesKeys, callback?: never): Promise; - async getPropertiesKeys( - parameters: Parameters.GetPropertiesKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPropertiesKeys(parameters: Parameters.GetPropertiesKeys): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -288,13 +270,13 @@ export class Sprint { * retrieves the property is required to have permissions to view the sprint. */ async getProperty(parameters: Parameters.GetProperty, callback?: never): Promise; - async getProperty(parameters: Parameters.GetProperty, callback?: Callback): Promise { - const config: RequestConfig = { + async getProperty(parameters: Parameters.GetProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -311,13 +293,13 @@ export class Sprint { * data is required to have permissions to modify the sprint. */ async setProperty(parameters: Parameters.SetProperty, callback?: never): Promise; - async setProperty(parameters: Parameters.SetProperty, callback?: Callback): Promise { - const config: RequestConfig = { + async setProperty(parameters: Parameters.SetProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/properties/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,28 +312,28 @@ export class Sprint { * permissions to modify the sprint. */ async deleteProperty(parameters: Parameters.DeleteProperty, callback?: never): Promise; - async deleteProperty(parameters: Parameters.DeleteProperty, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteProperty(parameters: Parameters.DeleteProperty): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Swap the position of the sprint with the second sprint. */ async swapSprint(parameters: Parameters.SwapSprint, callback: Callback): Promise; /** Swap the position of the sprint with the second sprint. */ async swapSprint(parameters: Parameters.SwapSprint, callback?: never): Promise; - async swapSprint(parameters: Parameters.SwapSprint, callback?: Callback): Promise { - const config: RequestConfig = { + async swapSprint(parameters: Parameters.SwapSprint): Promise { + const config: Request = { url: `/rest/agile/1.0/sprint/${parameters.sprintId}/swap`, method: 'POST', - data: { + body: { sprintToSwapWith: parameters.sprintToSwapWith, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/clients/baseClient.ts b/src/clients/baseClient.ts index 96303bc6ee..9d72d158bd 100644 --- a/src/clients/baseClient.ts +++ b/src/clients/baseClient.ts @@ -1,23 +1,20 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import type { AxiosInstance, AxiosResponse } from 'axios'; -import axios from 'axios'; -import type { Callback } from '../callback'; -import type { Client } from './client'; -import type { Config, JiraError } from '../config'; +import { Client } from './client'; +import type { Config } from '../config'; import { ConfigSchema } from '../config'; import { getAuthenticationToken } from '../services/authenticationService'; -import type { RequestConfig } from '../requestConfig'; -import { HttpException, isObject } from './httpException'; +import type { Request } from '../request'; import { ZodError } from 'zod'; +import { HttpException } from './httpException'; const STRICT_GDPR_FLAG = 'x-atlassian-force-account-id'; const ATLASSIAN_TOKEN_CHECK_FLAG = 'X-Atlassian-Token'; const ATLASSIAN_TOKEN_CHECK_NOCHECK_VALUE = 'no-check'; -export class BaseClient implements Client { - private instance: AxiosInstance; - +export class BaseClient extends Client { constructor(protected readonly config: Config) { + super(); + try { this.config = ConfigSchema.parse(config); } catch (e) { @@ -29,17 +26,6 @@ export class BaseClient implements Client { throw e; } - - this.instance = axios.create({ - paramsSerializer: this.paramSerializer.bind(this), - ...config.baseRequestConfig, - baseURL: config.host, - headers: this.removeUndefinedProperties({ - [STRICT_GDPR_FLAG]: config.strictGDPR, - [ATLASSIAN_TOKEN_CHECK_FLAG]: config.noCheckAtlassianToken ? ATLASSIAN_TOKEN_CHECK_NOCHECK_VALUE : undefined, - ...config.baseRequestConfig?.headers, - }), - }); } protected paramSerializer(parameters: Record): string { @@ -81,88 +67,82 @@ export class BaseClient implements Client { } protected removeUndefinedProperties(obj: Record): Record { - return Object.entries(obj) - .filter(([, value]) => typeof value !== 'undefined') - .reduce((accumulator, [key, value]) => ({ ...accumulator, [key]: value }), {}); + return Object.entries(obj).reduce>((acc, [key, value]) => { + if (value !== undefined) { + acc[key] = value; + } + + return acc; + }, {}); } - async sendRequest(requestConfig: RequestConfig, callback: never): Promise; - async sendRequest(requestConfig: RequestConfig, callback: Callback): Promise; - async sendRequest(requestConfig: RequestConfig, callback: Callback | never): Promise { - try { - const response = await this.sendRequestFullResponse(requestConfig); + async sendRequestWithRawResponse(request: Request): Promise { + const url = new URL(request.url, this.config.host); - return this.handleSuccessResponse(response.data, callback); - } catch (e: unknown) { - return this.handleFailedResponse(e, callback); - } - } + url.search = this.paramSerializer(request.query ?? {}); + + const { body, contentType } = this.prepareBodyPayload(request); - async sendRequestFullResponse(requestConfig: RequestConfig): Promise> { - const modifiedRequestConfig = { - ...requestConfig, + const config: RequestInit = { + method: request.method, headers: this.removeUndefinedProperties({ + [STRICT_GDPR_FLAG]: this.config.strictGDPR, + [ATLASSIAN_TOKEN_CHECK_FLAG]: this.config.noCheckAtlassianToken + ? ATLASSIAN_TOKEN_CHECK_NOCHECK_VALUE + : undefined, Authorization: await getAuthenticationToken(this.config.authentication), - ...requestConfig.headers, + 'Content-Type': contentType, + ...request.headers, }), + body, }; - return this.instance.request(modifiedRequestConfig); - } - - handleSuccessResponse(response: any, callback?: Callback | never): T | void { - const callbackResponseHandler = callback && ((data: T): void => callback(null, data)); - const defaultResponseHandler = (data: T): T => data; - - const responseHandler = callbackResponseHandler ?? defaultResponseHandler; + const response = await fetch(url, config); - this.config.middlewares?.onResponse?.(response.data); + if (!response.ok) { + await this.handleApiError(response); + } - return responseHandler(response); + return response; } - handleFailedResponse(e: unknown, callback?: Callback | never): void { - const err = this.buildErrorHandlingResponse(e); - - const callbackErrorHandler = callback && ((error: JiraError) => callback(error)); - const defaultErrorHandler = (error: JiraError) => { - throw error; - }; - - const errorHandler = callbackErrorHandler ?? defaultErrorHandler; - - this.config.middlewares?.onError?.(err); + private async handleApiError(response: Response) { + const contentType = response.headers.get('content-type') || ''; - return errorHandler(err); - } + if (contentType.includes('application/json')) { + const json = await response.json(); - private buildErrorHandlingResponse(e: unknown): JiraError { - if (axios.isAxiosError(e) && e.response) { - return new HttpException( - { - code: e.code, - message: e.message, - data: e.response.data, - status: e.response.status, - statusText: e.response.statusText, - }, - e.response.status, - { cause: e }, - ); + throw new HttpException(json, response.status, { description: response.statusText }); } - if (axios.isAxiosError(e)) { - return e; - } + const errorMessage = await response.text(); - if (isObject(e) && isObject((e as Record).response)) { - return new HttpException((e as Record).response); - } + throw new Error(errorMessage); + } - if (e instanceof Error) { - return new HttpException(e); + private prepareBodyPayload(request: Request): { body: BodyInit | null | undefined; contentType: string | undefined } { + let body: BodyInit | object | undefined | null = request.body; + let contentType: string | undefined = request.headers?.['Content-Type'] ?? request.headers?.['content-type']; + + if (request.body instanceof FormData) { + body = request.body; + } else if (request.body instanceof Blob) { + body = request.body; + contentType = request.body.type || 'application/octet-stream'; + } else if (request.body instanceof ArrayBuffer || ArrayBuffer.isView(request.body)) { + body = request.body instanceof ArrayBuffer ? request.body : request.body.buffer; + contentType = contentType || 'application/octet-stream'; + } else if (typeof request.body === 'object') { + body = JSON.stringify(request.body); + contentType = 'application/json'; + } else if (typeof request.body === 'string') { + body = request.body; + contentType = 'text/plain'; } - return new HttpException('Unknown error occurred.', 500, { cause: e }); + return { + body, + contentType, + } as { body: BodyInit | null | undefined; contentType: string }; } } diff --git a/src/clients/client.ts b/src/clients/client.ts index 043e13fccf..c69d382f29 100644 --- a/src/clients/client.ts +++ b/src/clients/client.ts @@ -1,13 +1,31 @@ -import type { AxiosResponse } from 'axios'; -import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; - -export interface Client { - sendRequest(requestConfig: RequestConfig, callback?: never): Promise; - sendRequest(requestConfig: RequestConfig, callback?: Callback): Promise; - - sendRequestFullResponse(requestConfig: RequestConfig): Promise>; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - handleSuccessResponse(response: any, callback?: Callback | undefined | never): T | void; - handleFailedResponse(e: Error, callback?: Callback | never): void; +import type { Request } from '../request'; + +export abstract class Client { + async sendRequest(request: Request): Promise { + const response = await this.sendRequestWithRawResponse(request); + + return this.handleFetchResponse(response); + } + + abstract sendRequestWithRawResponse(request: Request): Promise; + + async handleFetchResponse(response: Response): Promise { + const contentType = response.headers.get('content-type') || ''; + + if (contentType.includes('application/json')) { + return await response.json().catch(async () => { + return undefined; + }); + } else if (contentType.includes('text/')) { + return (await response.text()) as T; + } else if ( + contentType.includes('application/octet-stream') || + contentType.includes('application/x-www-form-urlencoded') || + !contentType + ) { + return (await response.arrayBuffer()) as T; + } else { + return response as T; + } + } } diff --git a/src/config.ts b/src/config.ts index 0cf843c427..6c126fc5b2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,5 +1,4 @@ import { z } from 'zod'; -import type { AxiosError } from 'axios'; import type { HttpException } from './clients'; // Authentication schemas @@ -38,7 +37,10 @@ export type Middlewares = z.infer; export const ConfigSchema = z .object({ - host: z.string().url(), + host: z + .string() + .url() + .transform(url => (url.endsWith('/') ? url.slice(0, -1) : url)), strictGDPR: z.boolean().optional(), /** Adds `'X-Atlassian-Token': 'no-check'` to each request header */ noCheckAtlassianToken: z.boolean().optional(), @@ -50,4 +52,4 @@ export const ConfigSchema = z export type Config = z.infer; -export type JiraError = AxiosError | HttpException; +export type JiraError = Error | HttpException; diff --git a/src/index.ts b/src/index.ts index 9932c06589..f78af657cd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,7 +3,7 @@ export * from './clients'; export * from './config'; export * from './callback'; export * from './paginated'; -export * from './requestConfig'; +export * from './request'; export * from './interfaces'; export * as Agile from './agile'; diff --git a/src/paramSerializer.ts b/src/paramSerializer.ts index 568ed240da..9ca07b0bd5 100644 --- a/src/paramSerializer.ts +++ b/src/paramSerializer.ts @@ -7,5 +7,5 @@ export function paramSerializer(key: string, values?: string | string[] | number return undefined; } - return () => values.map(value => `${key}=${value}`).join('&'); + return values.map(value => `${key}=${value}`).join('&'); } diff --git a/src/request.ts b/src/request.ts new file mode 100644 index 0000000000..31a52e237d --- /dev/null +++ b/src/request.ts @@ -0,0 +1,9 @@ +import type { OneOrMany } from './interfaces'; + +export type Request = { + url: string; + method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; + body?: BodyInit | null | undefined | object; + query?: Record>; + headers?: Record; +}; diff --git a/src/requestConfig.ts b/src/requestConfig.ts deleted file mode 100644 index 256383f9cc..0000000000 --- a/src/requestConfig.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { AxiosRequestConfig } from 'axios'; - -export type RequestConfig = AxiosRequestConfig; diff --git a/src/serviceDesk/customer.ts b/src/serviceDesk/customer.ts index 64793b3623..c546cf8a65 100644 --- a/src/serviceDesk/customer.ts +++ b/src/serviceDesk/customer.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Customer { constructor(private client: Client) {} @@ -28,19 +28,16 @@ export class Customer { * Administrator Global permission */ async createCustomer(parameters?: Parameters.CreateCustomer, callback?: never): Promise; - async createCustomer( - parameters?: Parameters.CreateCustomer, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createCustomer(parameters?: Parameters.CreateCustomer): Promise { + const config: Request = { url: '/rest/servicedeskapi/customer', method: 'POST', - data: { + body: { email: parameters?.email, displayName: parameters?.displayName, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/info.ts b/src/serviceDesk/info.ts index e5793e3109..78fb2241de 100644 --- a/src/serviceDesk/info.ts +++ b/src/serviceDesk/info.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Info { constructor(private client: Client) {} @@ -22,12 +22,12 @@ export class Info { * the user does not need to be logged in. */ async getInfo(callback?: never): Promise; - async getInfo(callback?: Callback): Promise { - const config: RequestConfig = { + async getInfo(): Promise { + const config: Request = { url: '/rest/servicedeskapi/info', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/insight.ts b/src/serviceDesk/insight.ts index 57982c282c..3b8b81da12 100644 --- a/src/serviceDesk/insight.ts +++ b/src/serviceDesk/insight.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Insight { constructor(private client: Client) {} @@ -29,17 +29,16 @@ export class Insight { ): Promise; async getInsightWorkspaces( parameters?: Parameters.GetInsightWorkspaces, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/servicedeskapi/insight/workspace', method: 'GET', - params: { + query: { start: parameters?.start, limit: parameters?.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/knowledgeBase.ts b/src/serviceDesk/knowledgeBase.ts index 05790e7621..de0b055b52 100644 --- a/src/serviceDesk/knowledgeBase.ts +++ b/src/serviceDesk/knowledgeBase.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class KnowledgeBase { constructor(private client: Client) {} @@ -23,17 +23,14 @@ export class KnowledgeBase { * portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html). */ async getArticles(parameters: Parameters.GetArticles, callback?: never): Promise; - async getArticles( - parameters: Parameters.GetArticles, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getArticles(parameters: Parameters.GetArticles): Promise { + const config: Request = { url: '/rest/servicedeskapi/knowledgebase/article', method: 'GET', headers: { 'X-ExperimentalApi': 'opt-in', }, - params: { + query: { query: parameters.query, highlight: parameters.highlight, start: parameters.start, @@ -41,6 +38,6 @@ export class KnowledgeBase { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/organization.ts b/src/serviceDesk/organization.ts index 50932b5967..d9f652e4cf 100644 --- a/src/serviceDesk/organization.ts +++ b/src/serviceDesk/organization.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Organization { constructor(private client: Client) {} @@ -35,21 +35,18 @@ export class Organization { parameters?: Parameters.GetOrganizations, callback?: never, ): Promise; - async getOrganizations( - parameters?: Parameters.GetOrganizations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getOrganizations(parameters?: Parameters.GetOrganizations): Promise { + const config: Request = { url: '/rest/servicedeskapi/organization', method: 'GET', - params: { + query: { start: parameters?.start, limit: parameters?.limit, accountId: parameters?.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -78,19 +75,16 @@ export class Organization { parameters?: Parameters.CreateOrganization, callback?: never, ): Promise; - async createOrganization( - parameters?: Parameters.CreateOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createOrganization(parameters?: Parameters.CreateOrganization): Promise { + const config: Request = { url: '/rest/servicedeskapi/organization', method: 'POST', - data: { + body: { name: parameters?.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -114,16 +108,13 @@ export class Organization { * **Response limitations**: Customers can only retrieve organization of which they are members. */ async getOrganization(parameters: Parameters.GetOrganization, callback?: never): Promise; - async getOrganization( - parameters: Parameters.GetOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getOrganization(parameters: Parameters.GetOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -142,16 +133,13 @@ export class Organization { * administrator. */ async deleteOrganization(parameters: Parameters.DeleteOrganization, callback?: never): Promise; - async deleteOrganization( - parameters: Parameters.DeleteOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteOrganization(parameters: Parameters.DeleteOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -180,14 +168,13 @@ export class Organization { ): Promise; async getPropertiesKeys( parameters: Parameters.GetOrganizationPropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/property`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -214,16 +201,13 @@ export class Organization { parameters: Parameters.GetOrganizationProperty, callback?: never, ): Promise; - async getProperty( - parameters: Parameters.GetOrganizationProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProperty(parameters: Parameters.GetOrganizationProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/property/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -250,16 +234,13 @@ export class Organization { * feature. */ async setProperty(parameters: Parameters.SetOrganizationProperty, callback?: never): Promise; - async setProperty( - parameters: Parameters.SetOrganizationProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setProperty(parameters: Parameters.SetOrganizationProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/property/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -289,16 +270,13 @@ export class Organization { * feature. */ async deleteProperty(parameters: Parameters.DeleteOrganizationProperty, callback?: never): Promise; - async deleteProperty( - parameters: Parameters.DeleteOrganizationProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteProperty(parameters: Parameters.DeleteOrganizationProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/property/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -323,20 +301,17 @@ export class Organization { parameters: Parameters.GetUsersInOrganization, callback?: never, ): Promise; - async getUsersInOrganization( - parameters: Parameters.GetUsersInOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUsersInOrganization(parameters: Parameters.GetUsersInOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/user`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -362,19 +337,16 @@ export class Organization { * feature. */ async addUsersToOrganization(parameters: Parameters.AddUsersToOrganization, callback?: never): Promise; - async addUsersToOrganization( - parameters: Parameters.AddUsersToOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addUsersToOrganization(parameters: Parameters.AddUsersToOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/user`, method: 'POST', - data: { + body: { accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -403,19 +375,16 @@ export class Organization { parameters: Parameters.RemoveUsersFromOrganization, callback?: never, ): Promise; - async removeUsersFromOrganization( - parameters: Parameters.RemoveUsersFromOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeUsersFromOrganization(parameters: Parameters.RemoveUsersFromOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/organization/${parameters.organizationId}/user`, method: 'DELETE', - data: { + body: { accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -440,19 +409,18 @@ export class Organization { ): Promise; async getServiceDeskOrganizations( parameters: Parameters.GetOrganizations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/organization`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -471,16 +439,16 @@ export class Organization { * Service desk's agent. */ async addOrganization(parameters: Parameters.AddOrganization, callback?: never): Promise; - async addOrganization(parameters: Parameters.AddOrganization, callback?: Callback): Promise { - const config: RequestConfig = { + async addOrganization(parameters: Parameters.AddOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/organization`, method: 'POST', - data: { + body: { organizationId: parameters.organizationId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -499,18 +467,15 @@ export class Organization { * Service desk's agent. */ async removeOrganization(parameters: Parameters.RemoveOrganization, callback?: never): Promise; - async removeOrganization( - parameters: Parameters.RemoveOrganization, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeOrganization(parameters: Parameters.RemoveOrganization): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/organization`, method: 'DELETE', - data: { + body: { organizationId: parameters.organizationId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/request.ts b/src/serviceDesk/request.ts index acb61d34b3..569f8ad205 100644 --- a/src/serviceDesk/request.ts +++ b/src/serviceDesk/request.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request as RequestConfig } from '../request'; export class Request { constructor(private client: Client) {} @@ -41,12 +41,11 @@ export class Request { ): Promise; async getCustomerRequests( parameters?: Parameters.GetCustomerRequests, - callback?: Callback, ): Promise { const config: RequestConfig = { url: '/rest/servicedeskapi/request', method: 'GET', - params: { + query: { searchTerm: parameters?.searchTerm, requestStatus: parameters?.requestStatus, approvalStatus: parameters?.approvalStatus, @@ -59,7 +58,7 @@ export class Request { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -110,12 +109,11 @@ export class Request { ): Promise; async createCustomerRequest( parameters?: Parameters.CreateCustomerRequest, - callback?: Callback, ): Promise { const config: RequestConfig = { url: '/rest/servicedeskapi/request', method: 'POST', - data: { + body: { serviceDeskId: parameters?.serviceDeskId, requestTypeId: parameters?.requestTypeId, requestFieldValues: parameters?.requestFieldValues, @@ -125,7 +123,7 @@ export class Request { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -156,17 +154,16 @@ export class Request { ): Promise; async getCustomerRequestByIdOrKey( parameters: Parameters.GetCustomerRequestByIdOrKey, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -186,20 +183,17 @@ export class Request { * Permission to view the customer request. */ async getApprovals(parameters: Parameters.GetApprovals, callback?: never): Promise; - async getApprovals( - parameters: Parameters.GetApprovals, - callback?: Callback, - ): Promise { + async getApprovals(parameters: Parameters.GetApprovals): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/approval`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -219,16 +213,13 @@ export class Request { * Permission to view the customer request. */ async getApprovalById(parameters: Parameters.GetApprovalById, callback?: never): Promise; - async getApprovalById( - parameters: Parameters.GetApprovalById, - callback?: Callback, - ): Promise { + async getApprovalById(parameters: Parameters.GetApprovalById): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/approval/${parameters.approvalId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -250,19 +241,16 @@ export class Request { * is assigned to the approval request. */ async answerApproval(parameters: Parameters.AnswerApproval, callback?: never): Promise; - async answerApproval( - parameters: Parameters.AnswerApproval, - callback?: Callback, - ): Promise { + async answerApproval(parameters: Parameters.AnswerApproval): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/approval/${parameters.approvalId}`, method: 'POST', - data: { + body: { decision: parameters.decision, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -291,18 +279,17 @@ export class Request { ): Promise; async getAttachmentsForRequest( parameters: Parameters.GetAttachmentsForRequest, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/attachment`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -343,19 +330,18 @@ export class Request { ): Promise; async createAttachment( parameters: Parameters.CreateAttachment, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/attachment`, method: 'POST', - data: { + body: { temporaryAttachmentIds: parameters.temporaryAttachmentIds, additionalComment: parameters.additionalComment, public: parameters.public, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -389,16 +375,13 @@ export class Request { * to view the issue. */ async getAttachmentContent(parameters: Parameters.GetAttachmentContent, callback?: never): Promise; - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent, - callback?: Callback, - ): Promise { + async getAttachmentContent(parameters: Parameters.GetAttachmentContent): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/attachment/${parameters.attachmentId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -435,16 +418,13 @@ export class Request { parameters: Parameters.GetAttachmentThumbnail, callback?: never, ): Promise; - async getAttachmentThumbnail( - parameters: Parameters.GetAttachmentThumbnail, - callback?: Callback, - ): Promise { + async getAttachmentThumbnail(parameters: Parameters.GetAttachmentThumbnail): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/attachment/${parameters.attachmentId}/thumbnail`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -473,14 +453,11 @@ export class Request { parameters: Parameters.GetRequestComments, callback?: never, ): Promise; - async getRequestComments( - parameters: Parameters.GetRequestComments, - callback?: Callback, - ): Promise { + async getRequestComments(parameters: Parameters.GetRequestComments): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/comment`, method: 'GET', - params: { + query: { public: parameters.public, internal: parameters.internal, expand: parameters.expand, @@ -489,7 +466,7 @@ export class Request { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -518,20 +495,17 @@ export class Request { parameters: Parameters.CreateRequestComment, callback?: never, ): Promise; - async createRequestComment( - parameters: Parameters.CreateRequestComment, - callback?: Callback, - ): Promise { + async createRequestComment(parameters: Parameters.CreateRequestComment): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/comment`, method: 'POST', - data: { + body: { body: parameters.body, public: parameters.public, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -560,19 +534,16 @@ export class Request { parameters: Parameters.GetRequestCommentById, callback?: never, ): Promise; - async getRequestCommentById( - parameters: Parameters.GetRequestCommentById, - callback?: Callback, - ): Promise { + async getRequestCommentById(parameters: Parameters.GetRequestCommentById): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/comment/${parameters.commentId}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -603,7 +574,6 @@ export class Request { ): Promise; async getCommentAttachments( parameters: Parameters.GetCommentAttachments, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/comment/${parameters.commentId}/attachment`, @@ -611,13 +581,13 @@ export class Request { headers: { 'X-ExperimentalApi': 'opt-in', }, - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -644,14 +614,13 @@ export class Request { ): Promise; async getSubscriptionStatus( parameters: Parameters.GetSubscriptionStatus, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/notification`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -668,13 +637,13 @@ export class Request { * Permission to view the customer request. */ async subscribe(parameters: Parameters.Subscribe, callback?: never): Promise; - async subscribe(parameters: Parameters.Subscribe, callback?: Callback): Promise { + async subscribe(parameters: Parameters.Subscribe): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/notification`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -691,13 +660,13 @@ export class Request { * Permission to view the customer request. */ async unsubscribe(parameters: Parameters.Unsubscribe, callback?: never): Promise; - async unsubscribe(parameters: Parameters.Unsubscribe, callback?: Callback): Promise { + async unsubscribe(parameters: Parameters.Unsubscribe): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/notification`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -720,20 +689,17 @@ export class Request { parameters: Parameters.GetRequestParticipants, callback?: never, ): Promise; - async getRequestParticipants( - parameters: Parameters.GetRequestParticipants, - callback?: Callback, - ): Promise { + async getRequestParticipants(parameters: Parameters.GetRequestParticipants): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/participant`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -764,20 +730,17 @@ export class Request { parameters: Parameters.AddRequestParticipants, callback?: never, ): Promise; - async addRequestParticipants( - parameters: Parameters.AddRequestParticipants, - callback?: Callback, - ): Promise { + async addRequestParticipants(parameters: Parameters.AddRequestParticipants): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/participant`, method: 'POST', - data: { + body: { usernames: parameters.usernames, accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -802,18 +765,17 @@ export class Request { ): Promise; async removeRequestParticipants( parameters: Parameters.RemoveRequestParticipants, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/participant`, method: 'DELETE', - data: { + body: { usernames: parameters.usernames, accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -840,20 +802,17 @@ export class Request { parameters: Parameters.GetSlaInformation, callback?: never, ): Promise; - async getSlaInformation( - parameters: Parameters.GetSlaInformation, - callback?: Callback, - ): Promise { + async getSlaInformation(parameters: Parameters.GetSlaInformation): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/sla`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -878,14 +837,13 @@ export class Request { ): Promise; async getSlaInformationById( parameters: Parameters.GetSlaInformationById, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/sla/${parameters.slaMetricId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -914,18 +872,17 @@ export class Request { ): Promise; async getCustomerRequestStatus( parameters: Parameters.GetCustomerRequestStatus, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/status`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -954,18 +911,17 @@ export class Request { ): Promise; async getCustomerTransitions( parameters: Parameters.GetCustomerTransitions, - callback?: Callback, ): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/transition`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -992,20 +948,17 @@ export class Request { parameters: Parameters.PerformCustomerTransition, callback?: never, ): Promise; - async performCustomerTransition( - parameters: Parameters.PerformCustomerTransition, - callback?: Callback, - ): Promise { + async performCustomerTransition(parameters: Parameters.PerformCustomerTransition): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.issueIdOrKey}/transition`, method: 'POST', - data: { + body: { id: parameters.id, additionalComment: parameters.additionalComment, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1025,10 +978,7 @@ export class Request { * has view request permissions. */ async getFeedback(parameters: Parameters.GetFeedback, callback?: never): Promise; - async getFeedback( - parameters: Parameters.GetFeedback, - callback?: Callback, - ): Promise { + async getFeedback(parameters: Parameters.GetFeedback): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.requestIdOrKey}/feedback`, method: 'GET', @@ -1037,7 +987,7 @@ export class Request { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1057,24 +1007,21 @@ export class Request { * must be the reporter or an Atlassian Connect app. */ async postFeedback(parameters: Parameters.PostFeedback, callback?: never): Promise; - async postFeedback( - parameters: Parameters.PostFeedback, - callback?: Callback, - ): Promise { + async postFeedback(parameters: Parameters.PostFeedback): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.requestIdOrKey}/feedback`, method: 'POST', headers: { 'X-ExperimentalApi': 'opt-in', }, - data: { + body: { type: parameters.type, rating: parameters.rating, comment: parameters.comment, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1091,7 +1038,7 @@ export class Request { * must be the reporter or an Atlassian Connect app. */ async deleteFeedback(parameters: Parameters.DeleteFeedback, callback?: never): Promise; - async deleteFeedback(parameters: Parameters.DeleteFeedback, callback?: Callback): Promise { + async deleteFeedback(parameters: Parameters.DeleteFeedback): Promise { const config: RequestConfig = { url: `/rest/servicedeskapi/request/${parameters.requestIdOrKey}/feedback`, method: 'DELETE', @@ -1100,6 +1047,6 @@ export class Request { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/requestType.ts b/src/serviceDesk/requestType.ts index 0ecd38fe63..9b69a6ede7 100644 --- a/src/serviceDesk/requestType.ts +++ b/src/serviceDesk/requestType.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class RequestType { constructor(private client: Client) {} @@ -41,17 +41,14 @@ export class RequestType { parameters?: Parameters.GetAllRequestTypes, callback?: never, ): Promise; - async getAllRequestTypes( - parameters?: Parameters.GetAllRequestTypes, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllRequestTypes(parameters?: Parameters.GetAllRequestTypes): Promise { + const config: Request = { url: '/rest/servicedeskapi/requesttype', method: 'GET', headers: { 'X-ExperimentalApi': 'opt-in', }, - params: { + query: { searchQuery: parameters?.searchQuery, serviceDeskId: parameters?.serviceDeskId, start: parameters?.start, @@ -60,6 +57,6 @@ export class RequestType { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/serviceDesk/serviceDesk.ts b/src/serviceDesk/serviceDesk.ts index d20facfc3e..2211d6ac86 100644 --- a/src/serviceDesk/serviceDesk.ts +++ b/src/serviceDesk/serviceDesk.ts @@ -4,7 +4,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ServiceDesk { constructor(private client: Client) {} @@ -31,20 +31,17 @@ export class ServiceDesk { parameters?: Parameters.GetServiceDesks, callback?: never, ): Promise; - async getServiceDesks( - parameters?: Parameters.GetServiceDesks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getServiceDesks(parameters?: Parameters.GetServiceDesks): Promise { + const config: Request = { url: '/rest/servicedeskapi/servicedesk', method: 'GET', - params: { + query: { start: parameters?.start, limit: parameters?.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -71,16 +68,13 @@ export class ServiceDesk { parameters: Parameters.GetServiceDeskById, callback?: never, ): Promise; - async getServiceDeskById( - parameters: Parameters.GetServiceDeskById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getServiceDeskById(parameters: Parameters.GetServiceDeskById): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -110,10 +104,7 @@ export class ServiceDesk { * Permission to add attachments in this Service Desk. */ async attachTemporaryFile(parameters: Parameters.AttachTemporaryFile, callback?: never): Promise; - async attachTemporaryFile( - parameters: Parameters.AttachTemporaryFile, - callback?: Callback, - ): Promise { + async attachTemporaryFile(parameters: Parameters.AttachTemporaryFile): Promise { const formData = new FormData(); const attachments = Array.isArray(parameters.attachment) ? parameters.attachment : [parameters.attachment]; @@ -136,17 +127,17 @@ export class ServiceDesk { formData.append('file', file, attachment.filename); } - const config: RequestConfig = { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/attachTemporaryFile`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': 'multipart/form-data', }, - data: formData, + body: formData, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -171,24 +162,21 @@ export class ServiceDesk { * Permission to view this Service Desk's customers. */ async getCustomers(parameters: Parameters.GetCustomers, callback?: never): Promise; - async getCustomers( - parameters: Parameters.GetCustomers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCustomers(parameters: Parameters.GetCustomers): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/customer`, method: 'GET', headers: { 'X-ExperimentalApi': 'opt-in', }, - params: { + query: { query: parameters.query, start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -207,17 +195,17 @@ export class ServiceDesk { * Service desk administrator */ async addCustomers(parameters: Parameters.AddCustomers, callback?: never): Promise; - async addCustomers(parameters: Parameters.AddCustomers, callback?: Callback): Promise { - const config: RequestConfig = { + async addCustomers(parameters: Parameters.AddCustomers): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/customer`, method: 'POST', - data: { + body: { usernames: parameters.usernames, accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,20 +226,20 @@ export class ServiceDesk { * Services desk administrator */ async removeCustomers(parameters: Parameters.RemoveCustomers, callback?: never): Promise; - async removeCustomers(parameters: Parameters.RemoveCustomers, callback?: Callback): Promise { - const config: RequestConfig = { + async removeCustomers(parameters: Parameters.RemoveCustomers): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/customer`, method: 'DELETE', headers: { 'X-ExperimentalApi': 'opt-in', }, - data: { + body: { usernames: parameters.usernames, accountIds: parameters.accountIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -268,17 +256,14 @@ export class ServiceDesk { * Permission to access the service desk. */ async getArticles(parameters: Parameters.GetArticles, callback?: never): Promise; - async getArticles( - parameters: Parameters.GetArticles, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getArticles(parameters: Parameters.GetArticles): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/knowledgebase/article`, method: 'GET', headers: { 'X-ExperimentalApi': 'opt-in', }, - params: { + query: { query: parameters.query, highlight: parameters.highlight, start: parameters.start, @@ -286,7 +271,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -305,18 +290,18 @@ export class ServiceDesk { * service desk's Agent. */ async getQueues(parameters: Parameters.GetQueues, callback?: never): Promise; - async getQueues(parameters: Parameters.GetQueues, callback?: Callback): Promise { - const config: RequestConfig = { + async getQueues(parameters: Parameters.GetQueues): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/queue`, method: 'GET', - params: { + query: { includeCount: parameters.includeCount, start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -335,16 +320,16 @@ export class ServiceDesk { * service desk's Agent. */ async getQueue(parameters: Parameters.GetQueue, callback?: never): Promise; - async getQueue(parameters: Parameters.GetQueue, callback?: Callback): Promise { - const config: RequestConfig = { + async getQueue(parameters: Parameters.GetQueue): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/queue/${parameters.queueId}`, method: 'GET', - params: { + query: { includeCount: parameters.includeCount, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -368,20 +353,17 @@ export class ServiceDesk { * Service desk's agent. */ async getIssuesInQueue(parameters: Parameters.GetIssuesInQueue, callback?: never): Promise; - async getIssuesInQueue( - parameters: Parameters.GetIssuesInQueue, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuesInQueue(parameters: Parameters.GetIssuesInQueue): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/queue/${parameters.queueId}/issue`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -414,14 +396,11 @@ export class ServiceDesk { parameters: Parameters.GetRequestTypes, callback?: never, ): Promise; - async getRequestTypes( - parameters: Parameters.GetRequestTypes, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRequestTypes(parameters: Parameters.GetRequestTypes): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype`, method: 'GET', - params: { + query: { groupId: parameters.groupId, expand: parameters.expand, searchQuery: parameters.searchQuery, @@ -430,7 +409,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -483,17 +462,14 @@ export class ServiceDesk { parameters: Parameters.CreateRequestType, callback?: never, ): Promise; - async createRequestType( - parameters: Parameters.CreateRequestType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createRequestType(parameters: Parameters.CreateRequestType): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype`, method: 'POST', headers: { 'X-ExperimentalApi': 'opt-in', }, - data: { + body: { issueTypeId: parameters.issueTypeId, name: parameters.name, description: parameters.description, @@ -501,7 +477,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -524,19 +500,16 @@ export class ServiceDesk { parameters: Parameters.GetRequestTypeById, callback?: never, ): Promise; - async getRequestTypeById( - parameters: Parameters.GetRequestTypeById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRequestTypeById(parameters: Parameters.GetRequestTypeById): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -555,11 +528,8 @@ export class ServiceDesk { * Service desk administrator. */ async deleteRequestType(parameters: Parameters.DeleteRequestType, callback?: never): Promise; - async deleteRequestType( - parameters: Parameters.DeleteRequestType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRequestType(parameters: Parameters.DeleteRequestType): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}`, method: 'DELETE', headers: { @@ -567,7 +537,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -606,17 +576,16 @@ export class ServiceDesk { ): Promise; async getRequestTypeFields( parameters: Parameters.GetRequestTypeFields, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}/field`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -649,11 +618,8 @@ export class ServiceDesk { parameters: Parameters.GetPropertiesKeys, callback?: never, ): Promise; - async getPropertiesKeys( - parameters: Parameters.GetPropertiesKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPropertiesKeys(parameters: Parameters.GetPropertiesKeys): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}/property`, method: 'GET', headers: { @@ -661,7 +627,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -691,11 +657,8 @@ export class ServiceDesk { * must have permission to view the request type. */ async getProperty(parameters: Parameters.GetProperty, callback?: never): Promise; - async getProperty( - parameters: Parameters.GetProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProperty(parameters: Parameters.GetProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}/property/${parameters.propertyKey}`, method: 'GET', headers: { @@ -703,7 +666,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -730,8 +693,8 @@ export class ServiceDesk { * project administrator with a Jira Service Management agent license. */ async setProperty(parameters: Parameters.SetProperty, callback?: never): Promise; - async setProperty(parameters: Parameters.SetProperty, callback?: Callback): Promise { - const config: RequestConfig = { + async setProperty(parameters: Parameters.SetProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}/property/${parameters.propertyKey}`, method: 'PUT', headers: { @@ -739,7 +702,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -766,8 +729,8 @@ export class ServiceDesk { * project administrator with a Jira Service Management agent license. */ async deleteProperty(parameters: Parameters.DeleteProperty, callback?: never): Promise; - async deleteProperty(parameters: Parameters.DeleteProperty, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteProperty(parameters: Parameters.DeleteProperty): Promise { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttype/${parameters.requestTypeId}/property/${parameters.propertyKey}`, method: 'DELETE', headers: { @@ -775,7 +738,7 @@ export class ServiceDesk { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -804,18 +767,17 @@ export class ServiceDesk { ): Promise; async getRequestTypeGroups( parameters: Parameters.GetRequestTypeGroups, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/servicedeskapi/servicedesk/${parameters.serviceDeskId}/requesttypegroup`, method: 'GET', - params: { + query: { start: parameters.start, limit: parameters.limit, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } private async _convertToFile( diff --git a/src/version2/announcementBanner.ts b/src/version2/announcementBanner.ts index 0128c3cafb..3e877e3372 100644 --- a/src/version2/announcementBanner.ts +++ b/src/version2/announcementBanner.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AnnouncementBanner { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class AnnouncementBanner { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getBanner(callback?: never): Promise; - async getBanner(callback?: Callback): Promise { - const config: RequestConfig = { + async getBanner(): Promise { + const config: Request = { url: '/rest/api/2/announcementBanner', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -44,11 +44,11 @@ export class AnnouncementBanner { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setBanner(parameters: Parameters.SetBanner, callback?: never): Promise; - async setBanner(parameters: Parameters.SetBanner, callback?: Callback): Promise { - const config: RequestConfig = { + async setBanner(parameters: Parameters.SetBanner): Promise { + const config: Request = { url: '/rest/api/2/announcementBanner', method: 'PUT', - data: { + body: { isDismissible: parameters.isDismissible, isEnabled: parameters.isEnabled, message: parameters.message, @@ -56,6 +56,6 @@ export class AnnouncementBanner { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/appDataPolicies.ts b/src/version2/appDataPolicies.ts index 12d85dc53b..9492ca28a8 100644 --- a/src/version2/appDataPolicies.ts +++ b/src/version2/appDataPolicies.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppDataPolicies { constructor(private client: Client) {} @@ -11,13 +11,13 @@ export class AppDataPolicies { async getPolicy(callback: Callback): Promise; /** Returns data policy for the workspace. */ async getPolicy(callback?: never): Promise; - async getPolicy(callback?: Callback): Promise { - const config: RequestConfig = { + async getPolicy(): Promise { + const config: Request = { url: '/rest/api/2/data-policy', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns data policies for the projects specified in the request. */ @@ -27,18 +27,15 @@ export class AppDataPolicies { ): Promise; /** Returns data policies for the projects specified in the request. */ async getPolicies(parameters?: Parameters.GetPolicies, callback?: never): Promise; - async getPolicies( - parameters?: Parameters.GetPolicies, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPolicies(parameters?: Parameters.GetPolicies): Promise { + const config: Request = { url: '/rest/api/2/data-policy/project', method: 'GET', - params: { + query: { ids: parameters?.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/appMigration.ts b/src/version2/appMigration.ts index d363562eee..307cc79a07 100644 --- a/src/version2/appMigration.ts +++ b/src/version2/appMigration.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppMigration { constructor(private client: Client) {} @@ -23,23 +23,20 @@ export class AppMigration { * Connect apps can make this request */ async updateIssueFields(parameters: Parameters.UpdateIssueFields, callback?: never): Promise; - async updateIssueFields( - parameters: Parameters.UpdateIssueFields, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueFields(parameters: Parameters.UpdateIssueFields): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/migration/field', method: 'PUT', headers: { 'Atlassian-Account-Id': parameters.accountId, 'Atlassian-Transfer-Id': parameters.transferId, }, - data: { + body: { updateValueList: parameters.updateValueList, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -60,9 +57,8 @@ export class AppMigration { ): Promise; async updateEntityPropertiesValue( parameters: Parameters.UpdateEntityPropertiesValue, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/atlassian-connect/1/migration/properties/${parameters.entityType}`, method: 'PUT', headers: { @@ -70,10 +66,10 @@ export class AppMigration { 'Atlassian-Transfer-Id': parameters.transferId, 'Content-Type': 'application/json', }, - data: parameters.entities, + body: parameters.entities, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -94,21 +90,20 @@ export class AppMigration { ): Promise; async workflowRuleSearch( parameters: Parameters.WorkflowRuleSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/atlassian-connect/1/migration/workflow/rule/search', method: 'POST', headers: { 'Atlassian-Transfer-Id': parameters.transferId, }, - data: { + body: { expand: parameters.expand, ruleIds: parameters.ruleIds, workflowEntityId: parameters.workflowEntityId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/appProperties.ts b/src/version2/appProperties.ts index 6a05d0d40f..87ca24ed62 100644 --- a/src/version2/appProperties.ts +++ b/src/version2/appProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppProperties { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class AppProperties { ): Promise; async getAddonProperties( parameters: Parameters.GetAddonProperties | string, - callback?: Callback, ): Promise { const addonKey = typeof parameters === 'string' ? parameters : parameters.addonKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${addonKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -65,16 +64,13 @@ export class AppProperties { parameters: Parameters.GetAddonProperty, callback?: never, ): Promise; - async getAddonProperty( - parameters: Parameters.GetAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAddonProperty(parameters: Parameters.GetAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,17 +101,14 @@ export class AppProperties { parameters: Parameters.PutAddonProperty, callback?: never, ): Promise; - async putAddonProperty( - parameters: Parameters.PutAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async putAddonProperty(parameters: Parameters.PutAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -134,16 +127,13 @@ export class AppProperties { * properties (stored against the same `app.connect.key`). */ async deleteAddonProperty(parameters: Parameters.DeleteAddonProperty, callback?: never): Promise; - async deleteAddonProperty( - parameters: Parameters.DeleteAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAddonProperty(parameters: Parameters.DeleteAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -192,17 +182,14 @@ export class AppProperties { parameters: Parameters.PutAppProperty, callback?: never, ): Promise; - async putAppProperty( - parameters: Parameters.PutAppProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async putAppProperty(parameters: Parameters.PutAppProperty): Promise { + const config: Request = { url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -225,15 +212,12 @@ export class AppProperties { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async deleteAppProperty(parameters: Parameters.DeleteAppProperty, callback?: never): Promise; - async deleteAppProperty( - parameters: Parameters.DeleteAppProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAppProperty(parameters: Parameters.DeleteAppProperty): Promise { + const config: Request = { url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/applicationRoles.ts b/src/version2/applicationRoles.ts index 796bb5da51..5893e94085 100644 --- a/src/version2/applicationRoles.ts +++ b/src/version2/applicationRoles.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ApplicationRoles { constructor(private client: Client) {} @@ -23,13 +23,13 @@ export class ApplicationRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllApplicationRoles(callback?: never): Promise; - async getAllApplicationRoles(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllApplicationRoles(): Promise { + const config: Request = { url: '/rest/api/2/applicationrole', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,15 +54,14 @@ export class ApplicationRoles { ): Promise; async getApplicationRole( parameters: Parameters.GetApplicationRole | string, - callback?: Callback, ): Promise { const key = typeof parameters === 'string' ? parameters : parameters.key; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/applicationrole/${key}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/auditRecords.ts b/src/version2/auditRecords.ts index 99ef987952..f72f3c9cbf 100644 --- a/src/version2/auditRecords.ts +++ b/src/version2/auditRecords.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AuditRecords { constructor(private client: Client) {} @@ -58,14 +58,11 @@ export class AuditRecords { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAuditRecords(parameters?: Parameters.GetAuditRecords, callback?: never): Promise; - async getAuditRecords( - parameters?: Parameters.GetAuditRecords, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAuditRecords(parameters?: Parameters.GetAuditRecords): Promise { + const config: Request = { url: '/rest/api/2/auditing/record', method: 'GET', - params: { + query: { offset: parameters?.offset, limit: parameters?.limit, filter: parameters?.filter, @@ -74,6 +71,6 @@ export class AuditRecords { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/avatars.ts b/src/version2/avatars.ts index aa505415de..11fa94f304 100644 --- a/src/version2/avatars.ts +++ b/src/version2/avatars.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Avatars { constructor(private client: Client) {} @@ -33,16 +33,15 @@ export class Avatars { ): Promise; async getAllSystemAvatars( parameters: Parameters.GetAllSystemAvatars | string, - callback?: Callback, ): Promise { const type = typeof parameters === 'string' ? parameters : parameters.type; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/avatar/${type}/system`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,13 +74,13 @@ export class Avatars { * - For priority avatars, none. */ async getAvatars(parameters: Parameters.GetAvatars, callback?: never): Promise; - async getAvatars(parameters: Parameters.GetAvatars, callback?: Callback): Promise { - const config: RequestConfig = { + async getAvatars(parameters: Parameters.GetAvatars): Promise { + const config: Request = { url: `/rest/api/2/universal_avatar/type/${parameters.type}/owner/${parameters.entityId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -132,23 +131,23 @@ export class Avatars { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async storeAvatar(parameters: Parameters.StoreAvatar, callback?: never): Promise; - async storeAvatar(parameters: Parameters.StoreAvatar, callback?: Callback): Promise { - const config: RequestConfig = { + async storeAvatar(parameters: Parameters.StoreAvatar): Promise { + const config: Request = { url: `/rest/api/2/universal_avatar/type/${parameters.type}/owner/${parameters.entityId}`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,13 +164,13 @@ export class Avatars { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteAvatar(parameters: Parameters.DeleteAvatar, callback?: never): Promise; - async deleteAvatar(parameters: Parameters.DeleteAvatar, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteAvatar(parameters: Parameters.DeleteAvatar): Promise { + const config: Request = { url: `/rest/api/2/universal_avatar/type/${parameters.type}/owner/${parameters.owningObjectId}/avatar/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -181,45 +180,24 @@ export class Avatars { * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback: Callback, - ): Promise; - /** - * Returns the default project, issue type or priority avatar image. - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. - */ - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback?: never, - ): Promise; - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback?: Callback, - ): Promise { - const type = typeof parameters === 'string' ? parameters : parameters.type; - - const config: RequestConfig = { - url: `/rest/api/2/universal_avatar/view/type/${type}`, + async getAvatarImageByType(parameters: Parameters.GetAvatarImageByType): Promise { + const config: Request = { + url: `/rest/api/2/universal_avatar/view/type/${parameters.type}`, method: 'GET', - responseType: 'arraybuffer', - params: { - size: typeof parameters !== 'string' ? parameters.size : undefined, - format: typeof parameters !== 'string' ? parameters.format : undefined, + query: { + size: parameters.size, + format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); + + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; const contentType = contentTypeWithEncoding.split(';')[0].trim(); + const avatar = await response.arrayBuffer(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { contentType, avatar } as T; } /** @@ -258,28 +236,22 @@ export class Avatars { parameters: Parameters.GetAvatarImageByID, callback?: never, ): Promise; - async getAvatarImageByID( - parameters: Parameters.GetAvatarImageByID, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAvatarImageByID(parameters: Parameters.GetAvatarImageByID): Promise { + const config: Request = { url: `/rest/api/2/universal_avatar/view/type/${parameters.type}/avatar/${parameters.id}`, method: 'GET', - responseType: 'arraybuffer', - params: { + query: { size: parameters.size, format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); - const contentType = contentTypeWithEncoding.split(';')[0].trim(); + const contentType = response.headers.get('content-type'); + const avatar = await response.arrayBuffer(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { contentType, avatar } as T; } /** @@ -320,25 +292,21 @@ export class Avatars { ): Promise; async getAvatarImageByOwner( parameters: Parameters.GetAvatarImageByOwner, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/universal_avatar/view/type/${parameters.type}/owner/${parameters.entityId}`, method: 'GET', - responseType: 'arraybuffer', - params: { + query: { size: parameters.size, format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); - const contentType = contentTypeWithEncoding.split(';')[0].trim(); + const contentType = response.headers.get('content-type'); + const content = await response.arrayBuffer(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { contentType, content } as T; } } diff --git a/src/version2/classificationLevels.ts b/src/version2/classificationLevels.ts index 809353339e..6134d4b2e6 100644 --- a/src/version2/classificationLevels.ts +++ b/src/version2/classificationLevels.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ClassificationLevels { constructor(private client: Client) {} @@ -27,17 +27,16 @@ export class ClassificationLevels { ): Promise; async getAllUserDataClassificationLevels( parameters?: Parameters.GetAllUserDataClassificationLevels, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/classification-levels', method: 'GET', - params: { + query: { status: parameters?.status, orderBy: parameters?.orderBy, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/dashboards.ts b/src/version2/dashboards.ts index 8aa1a4e7a6..169445fa1b 100644 --- a/src/version2/dashboards.ts +++ b/src/version2/dashboards.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import { paramSerializer } from '../paramSerializer'; export class Dashboards { @@ -32,21 +32,18 @@ export class Dashboards { parameters?: Parameters.GetAllDashboards, callback?: never, ): Promise; - async getAllDashboards( - parameters?: Parameters.GetAllDashboards, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllDashboards(parameters?: Parameters.GetAllDashboards): Promise { + const config: Request = { url: '/rest/api/2/dashboard', method: 'GET', - params: { + query: { filter: parameters?.filter, startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -64,17 +61,14 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async createDashboard(parameters: Parameters.CreateDashboard, callback?: never): Promise; - async createDashboard( - parameters: Parameters.CreateDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createDashboard(parameters: Parameters.CreateDashboard): Promise { + const config: Request = { url: '/rest/api/2/dashboard', method: 'POST', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -82,7 +76,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,12 +103,11 @@ export class Dashboards { ): Promise; async bulkEditDashboards( parameters: Parameters.BulkEditDashboards, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/dashboard/bulk/edit', method: 'PUT', - data: { + body: { action: parameters.action, changeOwnerDetails: parameters.changeOwnerDetails, entityIds: parameters.entityIds, @@ -123,7 +116,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -140,15 +133,13 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getAllAvailableDashboardGadgets(callback?: never): Promise; - async getAllAvailableDashboardGadgets( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllAvailableDashboardGadgets(): Promise { + const config: Request = { url: '/rest/api/2/dashboard/gadgets', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -195,12 +186,11 @@ export class Dashboards { ): Promise; async getDashboardsPaginated( parameters?: Parameters.GetDashboardsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/dashboard/search', method: 'GET', - params: { + query: { dashboardName: parameters?.dashboardName, accountId: parameters?.accountId, groupname: parameters?.groupname, @@ -214,7 +204,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -255,21 +245,20 @@ export class Dashboards { ): Promise; async getAllGadgets( parameters: Parameters.GetAllGadgets | string, - callback?: Callback, ): Promise { const dashboardId = typeof parameters === 'string' ? parameters : parameters.dashboardId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/dashboard/${dashboardId}/gadget`, method: 'GET', - params: { + query: { moduleKey: typeof parameters !== 'string' && paramSerializer('moduleKey', parameters.moduleKey), uri: typeof parameters !== 'string' && parameters.uri, gadgetId: typeof parameters !== 'string' && paramSerializer('gadgetId', parameters.gadgetId), }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -284,14 +273,11 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async addGadget(parameters: Parameters.AddGadget, callback?: never): Promise; - async addGadget( - parameters: Parameters.AddGadget, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addGadget(parameters: Parameters.AddGadget): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/gadget`, method: 'POST', - data: { + body: { color: parameters.color, ignoreUriAndModuleKeyValidation: parameters.ignoreUriAndModuleKeyValidation, moduleKey: parameters.moduleKey, @@ -301,7 +287,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -316,18 +302,18 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async updateGadget(parameters: Parameters.UpdateGadget, callback?: never): Promise; - async updateGadget(parameters: Parameters.UpdateGadget, callback?: Callback): Promise { - const config: RequestConfig = { + async updateGadget(parameters: Parameters.UpdateGadget): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/gadget/${parameters.gadgetId}`, method: 'PUT', - data: { + body: { color: parameters.color, position: parameters.position, title: parameters.title, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -348,13 +334,13 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async removeGadget(parameters: Parameters.RemoveGadget, callback?: never): Promise; - async removeGadget(parameters: Parameters.RemoveGadget, callback?: Callback): Promise { - const config: RequestConfig = { + async removeGadget(parameters: Parameters.RemoveGadget): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/gadget/${parameters.gadgetId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -389,14 +375,13 @@ export class Dashboards { ): Promise; async getDashboardItemPropertyKeys( parameters: Parameters.GetDashboardItemPropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -459,14 +444,13 @@ export class Dashboards { ): Promise; async getDashboardItemProperty( parameters: Parameters.GetDashboardItemProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -531,20 +515,17 @@ export class Dashboards { parameters: Parameters.SetDashboardItemProperty, callback?: never, ): Promise; - async setDashboardItemProperty( - parameters: Parameters.SetDashboardItemProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDashboardItemProperty(parameters: Parameters.SetDashboardItemProperty): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'PUT', headers: { 'Content-Type': 'application/json', }, - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -573,16 +554,13 @@ export class Dashboards { parameters: Parameters.DeleteDashboardItemProperty, callback?: never, ): Promise; - async deleteDashboardItemProperty( - parameters: Parameters.DeleteDashboardItemProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteDashboardItemProperty(parameters: Parameters.DeleteDashboardItemProperty): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -612,18 +590,15 @@ export class Dashboards { * System dashboard. The System dashboard is considered to be shared with all other users. */ async getDashboard(parameters: Parameters.GetDashboard | string, callback?: never): Promise; - async getDashboard( - parameters: Parameters.GetDashboard | string, - callback?: Callback, - ): Promise { + async getDashboard(parameters: Parameters.GetDashboard | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/dashboard/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -645,17 +620,14 @@ export class Dashboards { * The dashboard to be updated must be owned by the user. */ async updateDashboard(parameters: Parameters.UpdateDashboard, callback?: never): Promise; - async updateDashboard( - parameters: Parameters.UpdateDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateDashboard(parameters: Parameters.UpdateDashboard): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.id}`, method: 'PUT', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -663,7 +635,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -685,18 +657,15 @@ export class Dashboards { * The dashboard to be deleted must be owned by the user. */ async deleteDashboard(parameters: Parameters.DeleteDashboard | string, callback?: never): Promise; - async deleteDashboard( - parameters: Parameters.DeleteDashboard | string, - callback?: Callback, - ): Promise { + async deleteDashboard(parameters: Parameters.DeleteDashboard | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/dashboard/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -715,17 +684,14 @@ export class Dashboards { * The dashboard to be copied must be owned by or shared with the user. */ async copyDashboard(parameters: Parameters.CopyDashboard, callback?: never): Promise; - async copyDashboard( - parameters: Parameters.CopyDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async copyDashboard(parameters: Parameters.CopyDashboard): Promise { + const config: Request = { url: `/rest/api/2/dashboard/${parameters.id}/copy`, method: 'POST', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -733,6 +699,6 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/dynamicModules.ts b/src/version2/dynamicModules.ts index fad33e40ae..54ecaa6aad 100644 --- a/src/version2/dynamicModules.ts +++ b/src/version2/dynamicModules.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class DynamicModules { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class DynamicModules { * Connect apps can make this request. */ async getModules(callback?: never): Promise; - async getModules(callback?: Callback): Promise { - const config: RequestConfig = { + async getModules(): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -47,19 +47,16 @@ export class DynamicModules { * Connect apps can make this request. */ async registerModules(parameters?: Parameters.RegisterModules, callback?: never): Promise; - async registerModules( - parameters?: Parameters.RegisterModules, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async registerModules(parameters?: Parameters.RegisterModules): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'POST', - data: { + body: { modules: parameters?.modules, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -76,15 +73,15 @@ export class DynamicModules { * Connect apps can make this request. */ async removeModules(parameters?: Parameters.RemoveModules, callback?: never): Promise; - async removeModules(parameters?: Parameters.RemoveModules, callback?: Callback): Promise { - const config: RequestConfig = { + async removeModules(parameters?: Parameters.RemoveModules): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'DELETE', - params: { + query: { moduleKey: parameters?.moduleKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/filterSharing.ts b/src/version2/filterSharing.ts index ef2e8d42c6..9727821945 100644 --- a/src/version2/filterSharing.ts +++ b/src/version2/filterSharing.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class FilterSharing { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class FilterSharing { * Permission to access Jira. */ async getDefaultShareScope(callback?: never): Promise; - async getDefaultShareScope(callback?: Callback): Promise { - const config: RequestConfig = { + async getDefaultShareScope(): Promise { + const config: Request = { url: '/rest/api/2/filter/defaultShareScope', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -52,19 +52,18 @@ export class FilterSharing { ): Promise; async setDefaultShareScope( parameters: Parameters.SetDefaultShareScope | string, - callback?: Callback, ): Promise { const scope = typeof parameters === 'string' ? parameters : parameters.scope; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/filter/defaultShareScope', method: 'PUT', - data: { + body: { scope, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,16 +108,15 @@ export class FilterSharing { ): Promise; async getSharePermissions( parameters: Parameters.GetSharePermissions | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}/permission`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -151,14 +149,11 @@ export class FilterSharing { parameters: Parameters.AddSharePermission, callback?: never, ): Promise; - async addSharePermission( - parameters: Parameters.AddSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addSharePermission(parameters: Parameters.AddSharePermission): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}/permission`, method: 'POST', - data: { + body: { type: parameters.type, projectId: parameters.projectId, groupname: parameters.groupname, @@ -169,7 +164,7 @@ export class FilterSharing { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,16 +207,13 @@ export class FilterSharing { parameters: Parameters.GetSharePermission, callback?: never, ): Promise; - async getSharePermission( - parameters: Parameters.GetSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSharePermission(parameters: Parameters.GetSharePermission): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}/permission/${parameters.permissionId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -241,15 +233,12 @@ export class FilterSharing { * Permission to access Jira and the user must own the filter. */ async deleteSharePermission(parameters: Parameters.DeleteSharePermission, callback?: never): Promise; - async deleteSharePermission( - parameters: Parameters.DeleteSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteSharePermission(parameters: Parameters.DeleteSharePermission): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}/permission/${parameters.permissionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/filters.ts b/src/version2/filters.ts index af98fe7c93..6a0bc5420b 100644 --- a/src/version2/filters.ts +++ b/src/version2/filters.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Filters { constructor(private client: Client) {} @@ -23,18 +23,15 @@ export class Filters { * Permission to access Jira. */ async createFilter(parameters: Parameters.CreateFilter, callback?: never): Promise; - async createFilter( - parameters: Parameters.CreateFilter, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createFilter(parameters: Parameters.CreateFilter): Promise { + const config: Request = { url: '/rest/api/2/filter', method: 'POST', - params: { + query: { expand: parameters.expand, overrideSharePermissions: parameters.overrideSharePermissions, }, - data: { + body: { approximateLastUsed: parameters.approximateLastUsed, description: parameters.description, editPermissions: parameters.editPermissions, @@ -53,7 +50,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -100,19 +97,16 @@ export class Filters { parameters?: Parameters.GetFavouriteFilters, callback?: never, ): Promise; - async getFavouriteFilters( - parameters?: Parameters.GetFavouriteFilters, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFavouriteFilters(parameters?: Parameters.GetFavouriteFilters): Promise { + const config: Request = { url: '/rest/api/2/filter/favourite', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,20 +148,17 @@ export class Filters { * this operation. */ async getMyFilters(parameters?: Parameters.GetMyFilters, callback?: never): Promise; - async getMyFilters( - parameters?: Parameters.GetMyFilters, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getMyFilters(parameters?: Parameters.GetMyFilters): Promise { + const config: Request = { url: '/rest/api/2/filter/my', method: 'GET', - params: { + query: { expand: parameters?.expand, includeFavourites: parameters?.includeFavourites, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -220,12 +211,11 @@ export class Filters { ): Promise; async getFiltersPaginated( parameters?: Parameters.GetFiltersPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/filter/search', method: 'GET', - params: { + query: { filterName: parameters?.filterName, accountId: parameters?.accountId, groupname: parameters?.groupname, @@ -241,7 +231,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -276,22 +266,19 @@ export class Filters { * - Shared with the public. */ async getFilter(parameters: Parameters.GetFilter | string, callback?: never): Promise; - async getFilter( - parameters: Parameters.GetFilter | string, - callback?: Callback, - ): Promise { + async getFilter(parameters: Parameters.GetFilter | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, overrideSharePermissions: typeof parameters !== 'string' && parameters.overrideSharePermissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,18 +295,15 @@ export class Filters { * Permission to access Jira, however the user must own the filter. */ async updateFilter(parameters: Parameters.UpdateFilter, callback?: never): Promise; - async updateFilter( - parameters: Parameters.UpdateFilter, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateFilter(parameters: Parameters.UpdateFilter): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}`, method: 'PUT', - params: { + query: { expand: parameters.expand, overrideSharePermissions: parameters.overrideSharePermissions, }, - data: { + body: { name: parameters.name, description: parameters.description, jql: parameters.jql, @@ -328,7 +312,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -347,18 +331,15 @@ export class Filters { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteFilter(parameters: Parameters.DeleteFilter | string, callback?: never): Promise; - async deleteFilter( - parameters: Parameters.DeleteFilter | string, - callback?: Callback, - ): Promise { + async deleteFilter(parameters: Parameters.DeleteFilter | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -398,18 +379,15 @@ export class Filters { * - Filters shared with the public. */ async getColumns(parameters: Parameters.GetColumns | string, callback?: never): Promise; - async getColumns( - parameters: Parameters.GetColumns | string, - callback?: Callback, - ): Promise { + async getColumns(parameters: Parameters.GetColumns | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}/columns`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -454,14 +432,14 @@ export class Filters { * - Filters shared with the public. */ async setColumns(parameters: Parameters.SetColumns, callback?: never): Promise; - async setColumns(parameters: Parameters.SetColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async setColumns(parameters: Parameters.SetColumns): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}/columns`, method: 'PUT', - data: parameters.columns, + body: parameters.columns, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -492,18 +470,15 @@ export class Filters { * - Filters shared with the public. */ async resetColumns(parameters: Parameters.ResetColumns | string, callback?: never): Promise; - async resetColumns( - parameters: Parameters.ResetColumns | string, - callback?: Callback, - ): Promise { + async resetColumns(parameters: Parameters.ResetColumns | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}/columns`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -542,19 +517,18 @@ export class Filters { ): Promise; async setFavouriteForFilter( parameters: Parameters.SetFavouriteForFilter | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}/favourite`, method: 'PUT', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -583,19 +557,18 @@ export class Filters { ): Promise; async deleteFavouriteForFilter( parameters: Parameters.DeleteFavouriteForFilter | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/filter/${id}/favourite`, method: 'DELETE', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -614,18 +587,15 @@ export class Filters { * permission](https://confluence.atlassian.com/x/x4dKLg). */ async changeFilterOwner(parameters: Parameters.ChangeFilterOwner, callback?: never): Promise; - async changeFilterOwner( - parameters: Parameters.ChangeFilterOwner, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async changeFilterOwner(parameters: Parameters.ChangeFilterOwner): Promise { + const config: Request = { url: `/rest/api/2/filter/${parameters.id}/owner`, method: 'PUT', - data: { + body: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/groupAndUserPicker.ts b/src/version2/groupAndUserPicker.ts index de23a12039..71d26e9365 100644 --- a/src/version2/groupAndUserPicker.ts +++ b/src/version2/groupAndUserPicker.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class GroupAndUserPicker { constructor(private client: Client) {} @@ -87,12 +87,11 @@ export class GroupAndUserPicker { ): Promise; async findUsersAndGroups( parameters: Parameters.FindUsersAndGroups, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/groupuserpicker', method: 'GET', - params: { + query: { query: parameters.query, maxResults: parameters.maxResults, showAvatar: parameters.showAvatar, @@ -105,6 +104,6 @@ export class GroupAndUserPicker { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/groups.ts b/src/version2/groups.ts index 8b59ec4355..5017c14caf 100644 --- a/src/version2/groups.ts +++ b/src/version2/groups.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Groups { constructor(private client: Client) {} @@ -21,14 +21,14 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async createGroup(parameters: Parameters.CreateGroup, callback?: never): Promise; - async createGroup(parameters: Parameters.CreateGroup, callback?: Callback): Promise { - const config: RequestConfig = { + async createGroup(parameters: Parameters.CreateGroup): Promise { + const config: Request = { url: '/rest/api/2/group', method: 'POST', - data: parameters, + body: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -45,11 +45,11 @@ export class Groups { * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)). */ async removeGroup(parameters: Parameters.RemoveGroup, callback?: never): Promise; - async removeGroup(parameters: Parameters.RemoveGroup, callback?: Callback): Promise { - const config: RequestConfig = { + async removeGroup(parameters: Parameters.RemoveGroup): Promise { + const config: Request = { url: '/rest/api/2/group', method: 'DELETE', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, swapGroup: parameters.swapGroup, @@ -57,7 +57,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,14 +79,11 @@ export class Groups { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async bulkGetGroups(parameters?: Parameters.BulkGetGroups, callback?: never): Promise; - async bulkGetGroups( - parameters?: Parameters.BulkGetGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkGetGroups(parameters?: Parameters.BulkGetGroups): Promise { + const config: Request = { url: '/rest/api/2/group/bulk', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, groupId: parameters?.groupId, @@ -96,7 +93,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -133,14 +130,11 @@ export class Groups { parameters: Parameters.GetUsersFromGroup, callback?: never, ): Promise; - async getUsersFromGroup( - parameters: Parameters.GetUsersFromGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUsersFromGroup(parameters: Parameters.GetUsersFromGroup): Promise { + const config: Request = { url: '/rest/api/2/group/member', method: 'GET', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, includeInactiveUsers: parameters.includeInactiveUsers, @@ -149,7 +143,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -166,24 +160,21 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async addUserToGroup(parameters: Parameters.AddUserToGroup, callback?: never): Promise; - async addUserToGroup( - parameters: Parameters.AddUserToGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addUserToGroup(parameters: Parameters.AddUserToGroup): Promise { + const config: Request = { url: '/rest/api/2/group/user', method: 'POST', - params: { + query: { groupname: parameters.groupName, groupId: parameters.groupId, }, - data: { + body: { accountId: parameters.accountId, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -203,14 +194,11 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async removeUserFromGroup(parameters: Parameters.RemoveUserFromGroup, callback?: never): Promise; - async removeUserFromGroup( - parameters: Parameters.RemoveUserFromGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeUserFromGroup(parameters: Parameters.RemoveUserFromGroup): Promise { + const config: Request = { url: '/rest/api/2/group/user', method: 'DELETE', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, username: parameters.username, @@ -218,7 +206,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -266,14 +254,11 @@ export class Groups { * calls where query is not an exact match to an existing group will return an empty list. */ async findGroups(parameters?: Parameters.FindGroups, callback?: never): Promise; - async findGroups( - parameters?: Parameters.FindGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findGroups(parameters?: Parameters.FindGroups): Promise { + const config: Request = { url: '/rest/api/2/groups/picker', method: 'GET', - params: { + query: { query: parameters?.query, exclude: parameters?.exclude, excludeId: parameters?.excludeId, @@ -282,6 +267,6 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueAttachments.ts b/src/version2/issueAttachments.ts index db15b276cd..dc728d6b49 100644 --- a/src/version2/issueAttachments.ts +++ b/src/version2/issueAttachments.ts @@ -4,7 +4,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueAttachments { constructor(private client: Client) {} @@ -28,49 +28,23 @@ export class IssueAttachments { * to view the issue. * - If attachments are added in private comments, the comment-level restriction will be applied. */ - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback: Callback, - ): Promise; - /** - * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment - * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) - * for details. - * - * To return a thumbnail of the attachment, use [Get attachment - * thumbnail](#api-rest-api-2-attachment-thumbnail-id-get). - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the - * issue containing the attachment: - * - * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is - * in. - * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission - * to view the issue. - * - If attachments are added in private comments, the comment-level restriction will be applied. - */ - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback?: never, - ): Promise; - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback?: Callback, - ): Promise { - const id = typeof parameters === 'string' ? parameters : parameters.id; - - const config: RequestConfig = { - url: `/rest/api/2/attachment/content/${id}`, + async getAttachmentContent(parameters: Parameters.GetAttachmentContent): Promise { + // todo #396 add Range header - https://github.com/MrRefactoring/jira.js/issues/396 + const config: Request = { + url: `/rest/api/2/attachment/content/${parameters.id}`, method: 'GET', - params: { - redirect: typeof parameters !== 'string' && parameters.redirect, + query: { + redirect: parameters.redirect, }, - responseType: 'arraybuffer', }; - return this.client.sendRequest(config, callback); + const response = await this.client.sendRequestWithRawResponse(config); + + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; + const content = await response.arrayBuffer(); + const contentType = contentTypeWithEncoding.split(';')[0].trim(); + + return { contentType, content } as T; } /** @@ -95,13 +69,13 @@ export class IssueAttachments { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getAttachmentMeta(callback?: never): Promise; - async getAttachmentMeta(callback?: Callback): Promise { - const config: RequestConfig = { + async getAttachmentMeta(): Promise { + const config: Request = { url: '/rest/api/2/attachment/meta', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,25 +118,22 @@ export class IssueAttachments { parameters: Parameters.GetAttachmentThumbnail | string, callback?: never, ): Promise; - async getAttachmentThumbnail( - parameters: Parameters.GetAttachmentThumbnail | string, - callback?: Callback, - ): Promise { + async getAttachmentThumbnail(parameters: Parameters.GetAttachmentThumbnail | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/attachment/thumbnail/${id}`, method: 'GET', - params: { + query: { redirect: typeof parameters !== 'string' && parameters.redirect, fallbackToDefault: typeof parameters !== 'string' && parameters.fallbackToDefault, width: typeof parameters !== 'string' && parameters.width, height: typeof parameters !== 'string' && parameters.height, }, - responseType: 'arraybuffer', + // responseType: 'arraybuffer', // todo }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,18 +170,15 @@ export class IssueAttachments { parameters: Parameters.GetAttachment | string, callback?: never, ): Promise; - async getAttachment( - parameters: Parameters.GetAttachment | string, - callback?: Callback, - ): Promise { + async getAttachment(parameters: Parameters.GetAttachment | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/attachment/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -244,18 +212,15 @@ export class IssueAttachments { * created by any user. */ async removeAttachment(parameters: Parameters.RemoveAttachment | string, callback?: never): Promise; - async removeAttachment( - parameters: Parameters.RemoveAttachment | string, - callback?: Callback, - ): Promise { + async removeAttachment(parameters: Parameters.RemoveAttachment | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/attachment/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -310,16 +275,15 @@ export class IssueAttachments { ): Promise; async expandAttachmentForHumans( parameters: Parameters.ExpandAttachmentForHumans | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/attachment/${id}/expand/human`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -374,16 +338,15 @@ export class IssueAttachments { ): Promise; async expandAttachmentForMachines( parameters: Parameters.ExpandAttachmentForMachines | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/attachment/${id}/expand/raw`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -417,10 +380,7 @@ export class IssueAttachments { * to view the issue. */ async addAttachment(parameters: Parameters.AddAttachment, callback?: never): Promise; - async addAttachment( - parameters: Parameters.AddAttachment, - callback?: Callback, - ): Promise { + async addAttachment(parameters: Parameters.AddAttachment): Promise { const formData = new FormData(); const attachments = Array.isArray(parameters.attachment) ? parameters.attachment : [parameters.attachment]; @@ -443,19 +403,19 @@ export class IssueAttachments { formData.append('file', file, attachment.filename); } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/attachments`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', - 'Content-Type': 'multipart/form-data', + // 'Content-Type': 'multipart/form-data', }, - data: formData, - maxBodyLength: Infinity, - maxContentLength: Infinity, + body: formData, + // maxBodyLength: Infinity, // todo + // maxContentLength: Infinity, // todo }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } private async _convertToFile( diff --git a/src/version2/issueCommentProperties.ts b/src/version2/issueCommentProperties.ts index 832c89b5aa..d3ec6496b3 100644 --- a/src/version2/issueCommentProperties.ts +++ b/src/version2/issueCommentProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCommentProperties { constructor(private client: Client) {} @@ -41,16 +41,15 @@ export class IssueCommentProperties { ): Promise; async getCommentPropertyKeys( parameters: Parameters.GetCommentPropertyKeys | string, - callback?: Callback, ): Promise { const commentId = typeof parameters === 'string' ? parameters : parameters.commentId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/comment/${commentId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -85,16 +84,13 @@ export class IssueCommentProperties { parameters: Parameters.GetCommentProperty, callback?: never, ): Promise; - async getCommentProperty( - parameters: Parameters.GetCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCommentProperty(parameters: Parameters.GetCommentProperty): Promise { + const config: Request = { url: `/rest/api/2/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -136,17 +132,14 @@ export class IssueCommentProperties { * group. */ async setCommentProperty(parameters: Parameters.SetCommentProperty, callback?: never): Promise; - async setCommentProperty( - parameters: Parameters.SetCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setCommentProperty(parameters: Parameters.SetCommentProperty): Promise { + const config: Request = { url: `/rest/api/2/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.property, + body: parameters.property, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -182,15 +175,12 @@ export class IssueCommentProperties { * group. */ async deleteCommentProperty(parameters: Parameters.DeleteCommentProperty, callback?: never): Promise; - async deleteCommentProperty( - parameters: Parameters.DeleteCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCommentProperty(parameters: Parameters.DeleteCommentProperty): Promise { + const config: Request = { url: `/rest/api/2/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueComments.ts b/src/version2/issueComments.ts index a709d46f7d..26ff6b5957 100644 --- a/src/version2/issueComments.ts +++ b/src/version2/issueComments.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueComments { constructor(private client: Client) {} @@ -42,22 +42,19 @@ export class IssueComments { * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async getCommentsByIds(parameters: Parameters.GetCommentsByIds, callback?: never): Promise; - async getCommentsByIds( - parameters: Parameters.GetCommentsByIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCommentsByIds(parameters: Parameters.GetCommentsByIds): Promise { + const config: Request = { url: '/rest/api/2/comment/list', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { ids: parameters.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -98,16 +95,13 @@ export class IssueComments { parameters: Parameters.GetComments | string, callback?: never, ): Promise; - async getComments( - parameters: Parameters.GetComments | string, - callback?: Callback, - ): Promise { + async getComments(parameters: Parameters.GetComments | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/comment`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, orderBy: typeof parameters !== 'string' && parameters.orderBy, @@ -115,7 +109,7 @@ export class IssueComments { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,14 +138,14 @@ export class IssueComments { * to view the issue. */ async addComment(parameters: Parameters.AddComment, callback?: never): Promise; - async addComment(parameters: Parameters.AddComment, callback?: Callback): Promise { - const config: RequestConfig = { + async addComment(parameters: Parameters.AddComment): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/comment`, method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { author: parameters.author, body: parameters.comment, created: parameters.created, @@ -167,7 +161,7 @@ export class IssueComments { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -200,16 +194,16 @@ export class IssueComments { * to. */ async getComment(parameters: Parameters.GetComment, callback?: never): Promise; - async getComment(parameters: Parameters.GetComment, callback?: Callback): Promise { - const config: RequestConfig = { + async getComment(parameters: Parameters.GetComment): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -252,26 +246,23 @@ export class IssueComments { * visibility will result in a 400 (Bad Request) error. */ async updateComment(parameters: Parameters.UpdateComment, callback?: never): Promise; - async updateComment( - parameters: Parameters.UpdateComment, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateComment(parameters: Parameters.UpdateComment): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, overrideEditableFlag: parameters.overrideEditableFlag, expand: parameters.expand, }, - data: { + body: { body: parameters.comment, visibility: parameters.visibility, properties: parameters.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -304,15 +295,15 @@ export class IssueComments { * to. */ async deleteComment(parameters: Parameters.DeleteComment, callback?: never): Promise; - async deleteComment(parameters: Parameters.DeleteComment, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteComment(parameters: Parameters.DeleteComment): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'DELETE', - params: { + query: { parentId: parameters.parentId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldAssociations.ts b/src/version2/issueCustomFieldAssociations.ts index d57a14cead..3899c71a27 100644 --- a/src/version2/issueCustomFieldAssociations.ts +++ b/src/version2/issueCustomFieldAssociations.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldAssociations { constructor(private client: Client) {} @@ -47,20 +47,17 @@ export class IssueCustomFieldAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createAssociations(parameters?: Parameters.CreateAssociations, callback?: never): Promise; - async createAssociations( - parameters?: Parameters.CreateAssociations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createAssociations(parameters?: Parameters.CreateAssociations): Promise { + const config: Request = { url: '/rest/api/2/field/association', method: 'PUT', - data: { + body: { associationContexts: parameters?.associationContexts, fields: parameters?.fields, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,19 +99,16 @@ export class IssueCustomFieldAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeAssociations(parameters?: Parameters.RemoveAssociations, callback?: never): Promise; - async removeAssociations( - parameters?: Parameters.RemoveAssociations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeAssociations(parameters?: Parameters.RemoveAssociations): Promise { + const config: Request = { url: '/rest/api/2/field/association', method: 'DELETE', - data: { + body: { associationContexts: parameters?.associationContexts, fields: parameters?.fields, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldConfigurationApps.ts b/src/version2/issueCustomFieldConfigurationApps.ts index 9617a14a08..c3e978781e 100644 --- a/src/version2/issueCustomFieldConfigurationApps.ts +++ b/src/version2/issueCustomFieldConfigurationApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldConfigurationApps { constructor(private client: Client) {} @@ -55,12 +55,11 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async getCustomFieldsConfigurations( parameters?: Parameters.GetCustomFieldsConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/app/field/context/configuration/list', method: 'POST', - params: { + query: { id: parameters?.id, fieldContextId: parameters?.fieldContextId, issueId: parameters?.issueId, @@ -69,12 +68,12 @@ export class IssueCustomFieldConfigurationApps { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, - data: { + body: { fieldIdsOrKeys: parameters?.fieldIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -125,12 +124,11 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async getCustomFieldConfiguration( parameters: Parameters.GetCustomFieldConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/app/field/${parameters.fieldIdOrKey}/context/configuration`, method: 'GET', - params: { + query: { id: parameters.id, fieldContextId: parameters.fieldContextId, issueId: parameters.issueId, @@ -141,7 +139,7 @@ export class IssueCustomFieldConfigurationApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -172,16 +170,15 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async updateCustomFieldConfiguration( parameters: Parameters.UpdateCustomFieldConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/app/field/${parameters.fieldIdOrKey}/context/configuration`, method: 'PUT', - data: { + body: { configurations: parameters.configurations, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldContexts.ts b/src/version2/issueCustomFieldContexts.ts index 4ea6cf22a1..5e4fcfc120 100644 --- a/src/version2/issueCustomFieldContexts.ts +++ b/src/version2/issueCustomFieldContexts.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldContexts { constructor(private client: Client) {} @@ -49,14 +49,13 @@ export class IssueCustomFieldContexts { ): Promise; async getContextsForField( parameters: Parameters.GetContextsForField | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldId}/context`, method: 'GET', - params: { + query: { isAnyIssueType: typeof parameters !== 'string' && parameters.isAnyIssueType, isGlobalContext: typeof parameters !== 'string' && parameters.isGlobalContext, contextId: typeof parameters !== 'string' && parameters.contextId, @@ -65,7 +64,7 @@ export class IssueCustomFieldContexts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -96,12 +95,11 @@ export class IssueCustomFieldContexts { ): Promise; async createCustomFieldContext( parameters: Parameters.CreateCustomFieldContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context`, method: 'POST', - data: { + body: { description: parameters.description, id: parameters.id, issueTypeIds: parameters.issueTypeIds, @@ -110,7 +108,7 @@ export class IssueCustomFieldContexts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,21 +215,20 @@ export class IssueCustomFieldContexts { ): Promise; async getDefaultValues( parameters: Parameters.GetDefaultValues | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldId}/context/defaultValue`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,16 +327,16 @@ export class IssueCustomFieldContexts { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultValues(parameters: Parameters.SetDefaultValues, callback?: never): Promise; - async setDefaultValues(parameters: Parameters.SetDefaultValues, callback?: Callback): Promise { - const config: RequestConfig = { + async setDefaultValues(parameters: Parameters.SetDefaultValues): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/defaultValue`, method: 'PUT', - data: { + body: { defaultValues: parameters.defaultValues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -368,21 +365,20 @@ export class IssueCustomFieldContexts { ): Promise; async getIssueTypeMappingsForContexts( parameters: Parameters.GetIssueTypeMappingsForContexts | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldId}/context/issuetypemapping`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -427,21 +423,20 @@ export class IssueCustomFieldContexts { ): Promise; async getCustomFieldContextsForProjectsAndIssueTypes( parameters: Parameters.GetCustomFieldContextsForProjectsAndIssueTypes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/mapping`, method: 'POST', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, - data: { + body: { mappings: parameters.mappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -470,21 +465,20 @@ export class IssueCustomFieldContexts { ): Promise; async getProjectContextMapping( parameters: Parameters.GetProjectContextMapping | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldId}/context/projectmapping`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -509,20 +503,17 @@ export class IssueCustomFieldContexts { parameters: Parameters.UpdateCustomFieldContext, callback?: never, ): Promise; - async updateCustomFieldContext( - parameters: Parameters.UpdateCustomFieldContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomFieldContext(parameters: Parameters.UpdateCustomFieldContext): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -547,16 +538,13 @@ export class IssueCustomFieldContexts { parameters: Parameters.DeleteCustomFieldContext, callback?: never, ): Promise; - async deleteCustomFieldContext( - parameters: Parameters.DeleteCustomFieldContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomFieldContext(parameters: Parameters.DeleteCustomFieldContext): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -586,19 +574,16 @@ export class IssueCustomFieldContexts { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addIssueTypesToContext(parameters: Parameters.AddIssueTypesToContext, callback?: never): Promise; - async addIssueTypesToContext( - parameters: Parameters.AddIssueTypesToContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addIssueTypesToContext(parameters: Parameters.AddIssueTypesToContext): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/issuetype`, method: 'PUT', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -625,19 +610,16 @@ export class IssueCustomFieldContexts { parameters: Parameters.RemoveIssueTypesFromContext, callback?: never, ): Promise; - async removeIssueTypesFromContext( - parameters: Parameters.RemoveIssueTypesFromContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeIssueTypesFromContext(parameters: Parameters.RemoveIssueTypesFromContext): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/issuetype/remove`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -666,17 +648,16 @@ export class IssueCustomFieldContexts { ): Promise; async assignProjectsToCustomFieldContext( parameters: Parameters.AssignProjectsToCustomFieldContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/project`, method: 'PUT', - data: { + body: { projectIds: parameters.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -713,16 +694,15 @@ export class IssueCustomFieldContexts { ): Promise; async removeCustomFieldContextFromProjects( parameters: Parameters.RemoveCustomFieldContextFromProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/project/remove`, method: 'POST', - data: { + body: { projectIds: parameters.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldOptions.ts b/src/version2/issueCustomFieldOptions.ts index 2527cd5807..1d2b277cdb 100644 --- a/src/version2/issueCustomFieldOptions.ts +++ b/src/version2/issueCustomFieldOptions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldOptions { constructor(private client: Client) {} @@ -51,16 +51,15 @@ export class IssueCustomFieldOptions { ): Promise; async getCustomFieldOption( parameters: Parameters.GetCustomFieldOption | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/customFieldOption/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,12 +98,11 @@ export class IssueCustomFieldOptions { ): Promise; async getOptionsForContext( parameters: Parameters.GetOptionsForContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'GET', - params: { + query: { optionId: parameters.optionId, onlyOptions: parameters.onlyOptions, startAt: parameters.startAt, @@ -112,7 +110,7 @@ export class IssueCustomFieldOptions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,17 +151,16 @@ export class IssueCustomFieldOptions { ): Promise; async createCustomFieldOption( parameters: Parameters.CreateCustomFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'POST', - data: { + body: { options: parameters.options, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,17 +199,16 @@ export class IssueCustomFieldOptions { ): Promise; async updateCustomFieldOption( parameters: Parameters.UpdateCustomFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'PUT', - data: { + body: { options: parameters.options, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -243,21 +239,18 @@ export class IssueCustomFieldOptions { parameters: Parameters.ReorderCustomFieldOptions, callback?: never, ): Promise; - async reorderCustomFieldOptions( - parameters: Parameters.ReorderCustomFieldOptions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async reorderCustomFieldOptions(parameters: Parameters.ReorderCustomFieldOptions): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option/move`, method: 'PUT', - data: { + body: { after: parameters.after, customFieldOptionIds: parameters.customFieldOptionIds, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -289,16 +282,13 @@ export class IssueCustomFieldOptions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteCustomFieldOption(parameters: Parameters.DeleteCustomFieldOption, callback?: never): Promise; - async deleteCustomFieldOption( - parameters: Parameters.DeleteCustomFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomFieldOption(parameters: Parameters.DeleteCustomFieldOption): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option/${parameters.optionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -329,19 +319,16 @@ export class IssueCustomFieldOptions { parameters: Parameters.ReplaceCustomFieldOption, callback?: never, ): Promise; - async replaceCustomFieldOption( - parameters: Parameters.ReplaceCustomFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async replaceCustomFieldOption(parameters: Parameters.ReplaceCustomFieldOption): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}/context/${parameters.contextId}/option/${parameters.optionId}/issue`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldOptionsApps.ts b/src/version2/issueCustomFieldOptionsApps.ts index 1ea5d3d3b0..36ea2787dd 100644 --- a/src/version2/issueCustomFieldOptionsApps.ts +++ b/src/version2/issueCustomFieldOptionsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldOptionsApps { constructor(private client: Client) {} @@ -45,20 +45,19 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getAllIssueFieldOptions( parameters: Parameters.GetAllIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldKey}/option`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -97,19 +96,18 @@ export class IssueCustomFieldOptionsApps { ): Promise; async createIssueFieldOption( parameters: Parameters.CreateIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldKey}/option`, method: 'POST', - data: { + body: { config: parameters.config, properties: parameters.properties, value: parameters.value, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,21 +142,20 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getSelectableIssueFieldOptions( parameters: Parameters.GetSelectableIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldKey}/option/suggestions/edit`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, projectId: typeof parameters !== 'string' && parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -193,21 +190,20 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getVisibleIssueFieldOptions( parameters: Parameters.GetVisibleIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldKey}/option/suggestions/search`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, projectId: typeof parameters !== 'string' && parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -242,14 +238,13 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getIssueFieldOption( parameters: Parameters.GetIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -288,12 +283,11 @@ export class IssueCustomFieldOptionsApps { ): Promise; async updateIssueFieldOption( parameters: Parameters.UpdateIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'PUT', - data: { + body: { config: parameters.config, id: parameters.id, properties: parameters.properties, @@ -301,7 +295,7 @@ export class IssueCustomFieldOptionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -331,16 +325,13 @@ export class IssueCustomFieldOptionsApps { * for the app providing the field. */ async deleteIssueFieldOption(parameters: Parameters.DeleteIssueFieldOption, callback?: never): Promise; - async deleteIssueFieldOption( - parameters: Parameters.DeleteIssueFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueFieldOption(parameters: Parameters.DeleteIssueFieldOption): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -393,12 +384,11 @@ export class IssueCustomFieldOptionsApps { ): Promise; async replaceIssueFieldOption( parameters: Parameters.ReplaceIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldKey}/option/${parameters.optionId}/issue`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, jql: parameters.jql, overrideScreenSecurity: parameters.overrideScreenSecurity, @@ -406,6 +396,6 @@ export class IssueCustomFieldOptionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueCustomFieldValuesApps.ts b/src/version2/issueCustomFieldValuesApps.ts index 09fcceac50..9195ee1d37 100644 --- a/src/version2/issueCustomFieldValuesApps.ts +++ b/src/version2/issueCustomFieldValuesApps.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldValuesApps { constructor(private client: Client) {} @@ -46,20 +46,19 @@ export class IssueCustomFieldValuesApps { ): Promise; async updateMultipleCustomFieldValues( parameters: Parameters.UpdateMultipleCustomFieldValues, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/app/field/value', method: 'POST', - params: { + query: { generateChangelog: parameters.generateChangelog, }, - data: { + body: { updates: parameters.updates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -95,21 +94,18 @@ export class IssueCustomFieldValuesApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updateCustomFieldValue(parameters: Parameters.UpdateCustomFieldValue, callback?: never): Promise; - async updateCustomFieldValue( - parameters: Parameters.UpdateCustomFieldValue, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomFieldValue(parameters: Parameters.UpdateCustomFieldValue): Promise { + const config: Request = { url: `/rest/api/2/app/field/${parameters.fieldIdOrKey}/value`, method: 'PUT', - params: { + query: { generateChangelog: parameters.generateChangelog, }, - data: { + body: { updates: parameters.updates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueFieldConfigurations.ts b/src/version2/issueFieldConfigurations.ts index 938ac208c6..dbfff09012 100644 --- a/src/version2/issueFieldConfigurations.ts +++ b/src/version2/issueFieldConfigurations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueFieldConfigurations { constructor(private client: Client) {} @@ -45,12 +45,11 @@ export class IssueFieldConfigurations { ): Promise; async getAllFieldConfigurations( parameters?: Parameters.GetAllFieldConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfiguration', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -59,7 +58,7 @@ export class IssueFieldConfigurations { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,18 +89,17 @@ export class IssueFieldConfigurations { ): Promise; async createFieldConfiguration( parameters: Parameters.CreateFieldConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfiguration', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -128,20 +126,17 @@ export class IssueFieldConfigurations { parameters: Parameters.UpdateFieldConfiguration, callback?: never, ): Promise; - async updateFieldConfiguration( - parameters: Parameters.UpdateFieldConfiguration, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateFieldConfiguration(parameters: Parameters.UpdateFieldConfiguration): Promise { + const config: Request = { url: `/rest/api/2/fieldconfiguration/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -170,16 +165,15 @@ export class IssueFieldConfigurations { ): Promise; async deleteFieldConfiguration( parameters: Parameters.DeleteFieldConfiguration | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfiguration/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -210,20 +204,19 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationItems( parameters: Parameters.GetFieldConfigurationItems | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfiguration/${id}/fields`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -262,17 +255,16 @@ export class IssueFieldConfigurations { ): Promise; async updateFieldConfigurationItems( parameters: Parameters.UpdateFieldConfigurationItems, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfiguration/${parameters.id}/fields`, method: 'PUT', - data: { + body: { fieldConfigurationItems: parameters.fieldConfigurationItems, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -303,19 +295,18 @@ export class IssueFieldConfigurations { ): Promise; async getAllFieldConfigurationSchemes( parameters?: Parameters.GetAllFieldConfigurationSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfigurationscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -344,18 +335,17 @@ export class IssueFieldConfigurations { ): Promise; async createFieldConfigurationScheme( parameters: Parameters.CreateFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfigurationscheme', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -386,19 +376,18 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationSchemeMappings( parameters?: Parameters.GetFieldConfigurationSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfigurationscheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, fieldConfigurationSchemeId: parameters?.fieldConfigurationSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -435,19 +424,18 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationSchemeProjectMapping( parameters: Parameters.GetFieldConfigurationSchemeProjectMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfigurationscheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -478,18 +466,17 @@ export class IssueFieldConfigurations { ): Promise; async assignFieldConfigurationSchemeToProject( parameters: Parameters.AssignFieldConfigurationSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/fieldconfigurationscheme/project', method: 'PUT', - data: { + body: { fieldConfigurationSchemeId: parameters.fieldConfigurationSchemeId, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -518,18 +505,17 @@ export class IssueFieldConfigurations { ): Promise; async updateFieldConfigurationScheme( parameters: Parameters.UpdateFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfigurationscheme/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -558,16 +544,15 @@ export class IssueFieldConfigurations { ): Promise; async deleteFieldConfigurationScheme( parameters: Parameters.DeleteFieldConfigurationScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfigurationscheme/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -596,17 +581,16 @@ export class IssueFieldConfigurations { ): Promise; async setFieldConfigurationSchemeMapping( parameters: Parameters.SetFieldConfigurationSchemeMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfigurationscheme/${parameters.id}/mapping`, method: 'PUT', - data: { + body: { mappings: parameters.mappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -635,16 +619,15 @@ export class IssueFieldConfigurations { ): Promise; async removeIssueTypesFromGlobalFieldConfigurationScheme( parameters: Parameters.RemoveIssueTypesFromGlobalFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/fieldconfigurationscheme/${parameters.id}/mapping/delete`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueFields.ts b/src/version2/issueFields.ts index 884edeff11..d66238d8e7 100644 --- a/src/version2/issueFields.ts +++ b/src/version2/issueFields.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueFields { constructor(private client: Client) {} @@ -39,13 +39,13 @@ export class IssueFields { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getFields(callback?: never): Promise; - async getFields(callback?: Callback): Promise { - const config: RequestConfig = { + async getFields(): Promise { + const config: Request = { url: '/rest/api/2/field', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -68,14 +68,11 @@ export class IssueFields { parameters?: Parameters.CreateCustomField, callback?: never, ): Promise; - async createCustomField( - parameters?: Parameters.CreateCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createCustomField(parameters?: Parameters.CreateCustomField): Promise { + const config: Request = { url: '/rest/api/2/field', method: 'POST', - data: { + body: { description: parameters?.description, name: parameters?.name, searcherKey: parameters?.searcherKey, @@ -83,7 +80,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,14 +119,11 @@ export class IssueFields { parameters?: Parameters.GetFieldsPaginated, callback?: never, ): Promise; - async getFieldsPaginated( - parameters?: Parameters.GetFieldsPaginated, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFieldsPaginated(parameters?: Parameters.GetFieldsPaginated): Promise { + const config: Request = { url: '/rest/api/2/field/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, type: parameters?.type, @@ -141,7 +135,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -172,12 +166,11 @@ export class IssueFields { ): Promise; async getTrashedFieldsPaginated( parameters?: Parameters.GetTrashedFieldsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/field/search/trashed', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -187,7 +180,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -204,21 +197,18 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateCustomField(parameters: Parameters.UpdateCustomField, callback?: never): Promise; - async updateCustomField( - parameters: Parameters.UpdateCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomField(parameters: Parameters.UpdateCustomField): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.fieldId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, searcherKey: parameters.searcherKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -247,16 +237,13 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteCustomField(parameters: Parameters.DeleteCustomField, callback?: never): Promise; - async deleteCustomField( - parameters: Parameters.DeleteCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomField(parameters: Parameters.DeleteCustomField): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,16 +265,13 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async restoreCustomField(parameters: Parameters.RestoreCustomField, callback?: never): Promise; - async restoreCustomField( - parameters: Parameters.RestoreCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async restoreCustomField(parameters: Parameters.RestoreCustomField): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.id}/restore`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,15 +290,12 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async trashCustomField(parameters: Parameters.TrashCustomField, callback?: never): Promise; - async trashCustomField( - parameters: Parameters.TrashCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async trashCustomField(parameters: Parameters.TrashCustomField): Promise { + const config: Request = { url: `/rest/api/2/field/${parameters.id}/trash`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueLinkTypes.ts b/src/version2/issueLinkTypes.ts index 5bc43b8265..7b0873388a 100644 --- a/src/version2/issueLinkTypes.ts +++ b/src/version2/issueLinkTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueLinkTypes { constructor(private client: Client) {} @@ -29,13 +29,13 @@ export class IssueLinkTypes { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site. */ async getIssueLinkTypes(callback?: never): Promise; - async getIssueLinkTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueLinkTypes(): Promise { + const config: Request = { url: '/rest/api/2/issueLinkType', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -64,14 +64,11 @@ export class IssueLinkTypes { parameters: Parameters.CreateIssueLinkType, callback?: never, ): Promise; - async createIssueLinkType( - parameters: Parameters.CreateIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueLinkType(parameters: Parameters.CreateIssueLinkType): Promise { + const config: Request = { url: '/rest/api/2/issueLinkType', method: 'POST', - data: { + body: { id: parameters.id, inward: parameters.inward, name: parameters.name, @@ -80,7 +77,7 @@ export class IssueLinkTypes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -113,16 +110,15 @@ export class IssueLinkTypes { ): Promise; async getIssueLinkType( parameters: Parameters.GetIssueLinkType | string, - callback?: Callback, ): Promise { const issueLinkTypeId = typeof parameters === 'string' ? parameters : parameters.issueLinkTypeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issueLinkType/${issueLinkTypeId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,14 +145,11 @@ export class IssueLinkTypes { parameters: Parameters.UpdateIssueLinkType, callback?: never, ): Promise; - async updateIssueLinkType( - parameters: Parameters.UpdateIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueLinkType(parameters: Parameters.UpdateIssueLinkType): Promise { + const config: Request = { url: `/rest/api/2/issueLinkType/${parameters.issueLinkTypeId}`, method: 'PUT', - data: { + body: { id: parameters.id, inward: parameters.inward, name: parameters.name, @@ -165,7 +158,7 @@ export class IssueLinkTypes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -192,17 +185,14 @@ export class IssueLinkTypes { parameters: Parameters.DeleteIssueLinkType | string, callback?: never, ): Promise; - async deleteIssueLinkType( - parameters: Parameters.DeleteIssueLinkType | string, - callback?: Callback, - ): Promise { + async deleteIssueLinkType(parameters: Parameters.DeleteIssueLinkType | string): Promise { const issueLinkTypeId = typeof parameters === 'string' ? parameters : parameters.issueLinkTypeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issueLinkType/${issueLinkTypeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueLinks.ts b/src/version2/issueLinks.ts index 00209f29eb..fcbc7f20f3 100644 --- a/src/version2/issueLinks.ts +++ b/src/version2/issueLinks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueLinks { constructor(private client: Client) {} @@ -55,11 +55,11 @@ export class IssueLinks { * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async linkIssues(parameters: Parameters.LinkIssues, callback?: never): Promise; - async linkIssues(parameters: Parameters.LinkIssues, callback?: Callback): Promise { - const config: RequestConfig = { + async linkIssues(parameters: Parameters.LinkIssues): Promise { + const config: Request = { url: '/rest/api/2/issueLink', method: 'POST', - data: { + body: { type: parameters.type, inwardIssue: parameters.inwardIssue, outwardIssue: parameters.outwardIssue, @@ -67,7 +67,7 @@ export class IssueLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,18 +99,15 @@ export class IssueLinks { * issues. */ async getIssueLink(parameters: Parameters.GetIssueLink | string, callback?: never): Promise; - async getIssueLink( - parameters: Parameters.GetIssueLink | string, - callback?: Callback, - ): Promise { + async getIssueLink(parameters: Parameters.GetIssueLink | string): Promise { const linkId = typeof parameters === 'string' ? parameters : parameters.linkId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issueLink/${linkId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -146,17 +143,14 @@ export class IssueLinks { * issues. */ async deleteIssueLink(parameters: Parameters.DeleteIssueLink | string, callback?: never): Promise; - async deleteIssueLink( - parameters: Parameters.DeleteIssueLink | string, - callback?: Callback, - ): Promise { + async deleteIssueLink(parameters: Parameters.DeleteIssueLink | string): Promise { const linkId = typeof parameters === 'string' ? parameters : parameters.linkId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issueLink/${linkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueNavigatorSettings.ts b/src/version2/issueNavigatorSettings.ts index b66fe71b78..72d4a7242d 100644 --- a/src/version2/issueNavigatorSettings.ts +++ b/src/version2/issueNavigatorSettings.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueNavigatorSettings { constructor(private client: Client) {} @@ -20,13 +20,13 @@ export class IssueNavigatorSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getIssueNavigatorDefaultColumns(callback?: never): Promise; - async getIssueNavigatorDefaultColumns(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueNavigatorDefaultColumns(): Promise { + const config: Request = { url: '/rest/api/2/settings/columns', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -65,12 +65,12 @@ export class IssueNavigatorSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setIssueNavigatorDefaultColumns(callback?: never): Promise; - async setIssueNavigatorDefaultColumns(callback?: Callback): Promise { - const config: RequestConfig = { + async setIssueNavigatorDefaultColumns(): Promise { + const config: Request = { url: '/rest/api/2/settings/columns', method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueNotificationSchemes.ts b/src/version2/issueNotificationSchemes.ts index f01902a973..495815add3 100644 --- a/src/version2/issueNotificationSchemes.ts +++ b/src/version2/issueNotificationSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueNotificationSchemes { constructor(private client: Client) {} @@ -37,12 +37,11 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationSchemes( parameters?: Parameters.GetNotificationSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/notificationscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -52,7 +51,7 @@ export class IssueNotificationSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,19 +76,18 @@ export class IssueNotificationSchemes { ): Promise; async createNotificationScheme( parameters: Parameters.CreateNotificationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/notificationscheme', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, notificationSchemeEvents: parameters.notificationSchemeEvents, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,12 +120,11 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationSchemeToProjectMappings( parameters?: Parameters.GetNotificationSchemeToProjectMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/notificationscheme/project', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, notificationSchemeId: parameters?.notificationSchemeId, @@ -135,7 +132,7 @@ export class IssueNotificationSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -164,19 +161,18 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationScheme( parameters: Parameters.GetNotificationScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/notificationscheme/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,20 +195,17 @@ export class IssueNotificationSchemes { parameters: Parameters.UpdateNotificationScheme, callback?: never, ): Promise; - async updateNotificationScheme( - parameters: Parameters.UpdateNotificationScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateNotificationScheme(parameters: Parameters.UpdateNotificationScheme): Promise { + const config: Request = { url: `/rest/api/2/notificationscheme/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -235,16 +228,16 @@ export class IssueNotificationSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addNotifications(parameters: Parameters.AddNotifications, callback?: never): Promise; - async addNotifications(parameters: Parameters.AddNotifications, callback?: Callback): Promise { - const config: RequestConfig = { + async addNotifications(parameters: Parameters.AddNotifications): Promise { + const config: Request = { url: `/rest/api/2/notificationscheme/${parameters.id}/notification`, method: 'PUT', - data: { + body: { notificationSchemeEvents: parameters.notificationSchemeEvents, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -267,16 +260,13 @@ export class IssueNotificationSchemes { parameters: Parameters.DeleteNotificationScheme, callback?: never, ): Promise; - async deleteNotificationScheme( - parameters: Parameters.DeleteNotificationScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteNotificationScheme(parameters: Parameters.DeleteNotificationScheme): Promise { + const config: Request = { url: `/rest/api/2/notificationscheme/${parameters.notificationSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -301,13 +291,12 @@ export class IssueNotificationSchemes { ): Promise; async removeNotificationFromNotificationScheme( parameters: Parameters.RemoveNotificationFromNotificationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/notificationscheme/${parameters.notificationSchemeId}/notification/${parameters.notificationId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issuePriorities.ts b/src/version2/issuePriorities.ts index e19b7c8a96..8b047324f3 100644 --- a/src/version2/issuePriorities.ts +++ b/src/version2/issuePriorities.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import { paramSerializer } from '../paramSerializer'; export class IssuePriorities { @@ -22,13 +22,13 @@ export class IssuePriorities { * Permission to access Jira. */ async getPriorities(callback?: never): Promise; - async getPriorities(callback?: Callback): Promise { - const config: RequestConfig = { + async getPriorities(): Promise { + const config: Request = { url: '/rest/api/2/priority', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,14 +54,11 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPriority(parameters: Parameters.CreatePriority, callback?: never): Promise; - async createPriority( - parameters: Parameters.CreatePriority, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createPriority(parameters: Parameters.CreatePriority): Promise { + const config: Request = { url: '/rest/api/2/priority', method: 'POST', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, iconUrl: parameters.iconUrl, @@ -70,7 +67,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,19 +87,16 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultPriority(parameters?: Parameters.SetDefaultPriority, callback?: never): Promise; - async setDefaultPriority( - parameters?: Parameters.SetDefaultPriority, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDefaultPriority(parameters?: Parameters.SetDefaultPriority): Promise { + const config: Request = { url: '/rest/api/2/priority/default', method: 'PUT', - data: { + body: { id: parameters?.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -119,18 +113,18 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async movePriorities(parameters: Parameters.MovePriorities, callback?: never): Promise; - async movePriorities(parameters: Parameters.MovePriorities, callback?: Callback): Promise { - const config: RequestConfig = { + async movePriorities(parameters: Parameters.MovePriorities): Promise { + const config: Request = { url: '/rest/api/2/priority/move', method: 'PUT', - data: { + body: { after: parameters.after, ids: parameters.ids, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -167,14 +161,11 @@ export class IssuePriorities { parameters?: Parameters.SearchPriorities, callback?: never, ): Promise; - async searchPriorities( - parameters?: Parameters.SearchPriorities, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchPriorities(parameters?: Parameters.SearchPriorities): Promise { + const config: Request = { url: '/rest/api/2/priority/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -185,7 +176,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -205,18 +196,15 @@ export class IssuePriorities { * Permission to access Jira. */ async getPriority(parameters: Parameters.GetPriority | string, callback?: never): Promise; - async getPriority( - parameters: Parameters.GetPriority | string, - callback?: Callback, - ): Promise { + async getPriority(parameters: Parameters.GetPriority | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/priority/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -243,11 +231,11 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updatePriority(parameters: Parameters.UpdatePriority, callback?: never): Promise; - async updatePriority(parameters: Parameters.UpdatePriority, callback?: Callback): Promise { - const config: RequestConfig = { + async updatePriority(parameters: Parameters.UpdatePriority): Promise { + const config: Request = { url: `/rest/api/2/priority/${parameters.id}`, method: 'PUT', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, iconUrl: parameters.iconUrl, @@ -256,7 +244,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -283,12 +271,12 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePriority(parameters: Parameters.DeletePriority, callback?: never): Promise; - async deletePriority(parameters: Parameters.DeletePriority, callback?: Callback): Promise { - const config: RequestConfig = { + async deletePriority(parameters: Parameters.DeletePriority): Promise { + const config: Request = { url: `/rest/api/2/priority/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueProperties.ts b/src/version2/issueProperties.ts index ecf249c3d2..f3dfeb54e8 100644 --- a/src/version2/issueProperties.ts +++ b/src/version2/issueProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueProperties { constructor(private client: Client) {} @@ -59,20 +59,17 @@ export class IssueProperties { parameters?: Parameters.BulkSetIssuesProperties, callback?: never, ): Promise; - async bulkSetIssuesProperties( - parameters?: Parameters.BulkSetIssuesProperties, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkSetIssuesProperties(parameters?: Parameters.BulkSetIssuesProperties): Promise { + const config: Request = { url: '/rest/api/2/issue/properties', method: 'POST', - data: { + body: { entitiesIds: parameters?.entitiesIds, properties: parameters?.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -125,17 +122,16 @@ export class IssueProperties { ): Promise; async bulkSetIssuePropertiesByIssue( parameters?: Parameters.BulkSetIssuePropertiesByIssue, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issue/properties/multi', method: 'POST', - data: { + body: { issues: parameters?.issues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -233,21 +229,18 @@ export class IssueProperties { * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. */ async bulkSetIssueProperty(parameters: Parameters.BulkSetIssueProperty, callback?: never): Promise; - async bulkSetIssueProperty( - parameters: Parameters.BulkSetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkSetIssueProperty(parameters: Parameters.BulkSetIssueProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/properties/${parameters.propertyKey}`, method: 'PUT', - data: { + body: { value: parameters.value, expression: parameters.expression, filter: parameters.filter, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -318,20 +311,17 @@ export class IssueProperties { parameters: Parameters.BulkDeleteIssueProperty, callback?: never, ): Promise; - async bulkDeleteIssueProperty( - parameters: Parameters.BulkDeleteIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkDeleteIssueProperty(parameters: Parameters.BulkDeleteIssueProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/properties/${parameters.propertyKey}`, method: 'DELETE', - data: { + body: { entityIds: parameters.entityIds, currentValue: parameters.currentValue, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -370,16 +360,15 @@ export class IssueProperties { ): Promise; async getIssuePropertyKeys( parameters: Parameters.GetIssuePropertyKeys | string, - callback?: Callback, ): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -414,16 +403,13 @@ export class IssueProperties { parameters: Parameters.GetIssueProperty, callback?: never, ): Promise; - async getIssueProperty( - parameters: Parameters.GetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueProperty(parameters: Parameters.GetIssueProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -458,17 +444,14 @@ export class IssueProperties { * to view the issue. */ async setIssueProperty(parameters: Parameters.SetIssueProperty, callback?: never): Promise; - async setIssueProperty( - parameters: Parameters.SetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setIssueProperty(parameters: Parameters.SetIssueProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -497,15 +480,12 @@ export class IssueProperties { * to view the issue. */ async deleteIssueProperty(parameters: Parameters.DeleteIssueProperty, callback?: never): Promise; - async deleteIssueProperty( - parameters: Parameters.DeleteIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueProperty(parameters: Parameters.DeleteIssueProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueRemoteLinks.ts b/src/version2/issueRemoteLinks.ts index c66139c718..21ca0f1d6c 100644 --- a/src/version2/issueRemoteLinks.ts +++ b/src/version2/issueRemoteLinks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueRemoteLinks { constructor(private client: Client) {} @@ -51,19 +51,18 @@ export class IssueRemoteLinks { ): Promise; async getRemoteIssueLinks( parameters: Parameters.GetRemoteIssueLinks | string, - callback?: Callback, ): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/remotelink`, method: 'GET', - params: { + query: { globalId: typeof parameters !== 'string' && parameters.globalId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -110,12 +109,11 @@ export class IssueRemoteLinks { ): Promise; async createOrUpdateRemoteIssueLink( parameters: Parameters.CreateOrUpdateRemoteIssueLink, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/remotelink`, method: 'POST', - data: { + body: { globalId: parameters.globalId, application: parameters.application, relationship: parameters.relationship, @@ -123,7 +121,7 @@ export class IssueRemoteLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -168,19 +166,18 @@ export class IssueRemoteLinks { ): Promise; async deleteRemoteIssueLinkByGlobalId( parameters: Parameters.DeleteRemoteIssueLinkByGlobalId | string, - callback?: Callback, ): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/remotelink`, method: 'DELETE', - params: { + query: { globalId: typeof parameters !== 'string' && parameters.globalId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -221,14 +218,13 @@ export class IssueRemoteLinks { ): Promise; async getRemoteIssueLinkById( parameters: Parameters.GetRemoteIssueLinkById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -268,14 +264,11 @@ export class IssueRemoteLinks { * to view the issue. */ async updateRemoteIssueLink(parameters: Parameters.UpdateRemoteIssueLink, callback?: never): Promise; - async updateRemoteIssueLink( - parameters: Parameters.UpdateRemoteIssueLink, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateRemoteIssueLink(parameters: Parameters.UpdateRemoteIssueLink): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'PUT', - data: { + body: { globalId: parameters.globalId, application: parameters.application, relationship: parameters.relationship, @@ -283,7 +276,7 @@ export class IssueRemoteLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -322,15 +315,12 @@ export class IssueRemoteLinks { parameters: Parameters.DeleteRemoteIssueLinkById, callback?: never, ): Promise; - async deleteRemoteIssueLinkById( - parameters: Parameters.DeleteRemoteIssueLinkById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRemoteIssueLinkById(parameters: Parameters.DeleteRemoteIssueLinkById): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueResolutions.ts b/src/version2/issueResolutions.ts index 6896d2633f..3efc00c796 100644 --- a/src/version2/issueResolutions.ts +++ b/src/version2/issueResolutions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueResolutions { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class IssueResolutions { * Permission to access Jira. */ async getResolutions(callback?: never): Promise; - async getResolutions(callback?: Callback): Promise { - const config: RequestConfig = { + async getResolutions(): Promise { + const config: Request = { url: '/rest/api/2/resolution', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -50,17 +50,14 @@ export class IssueResolutions { parameters: Parameters.CreateResolution, callback?: never, ): Promise; - async createResolution( - parameters: Parameters.CreateResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createResolution(parameters: Parameters.CreateResolution): Promise { + const config: Request = { url: '/rest/api/2/resolution', method: 'POST', - data: parameters, + body: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -80,19 +77,16 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultResolution(parameters: Parameters.SetDefaultResolution, callback?: never): Promise; - async setDefaultResolution( - parameters: Parameters.SetDefaultResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDefaultResolution(parameters: Parameters.SetDefaultResolution): Promise { + const config: Request = { url: '/rest/api/2/resolution/default', method: 'PUT', - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,18 +103,18 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveResolutions(parameters: Parameters.MoveResolutions, callback?: never): Promise; - async moveResolutions(parameters: Parameters.MoveResolutions, callback?: Callback): Promise { - const config: RequestConfig = { + async moveResolutions(parameters: Parameters.MoveResolutions): Promise { + const config: Request = { url: '/rest/api/2/resolution/move', method: 'PUT', - data: { + body: { after: parameters.after, ids: parameters.ids, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,14 +147,11 @@ export class IssueResolutions { parameters?: Parameters.SearchResolutions, callback?: never, ): Promise; - async searchResolutions( - parameters?: Parameters.SearchResolutions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchResolutions(parameters?: Parameters.SearchResolutions): Promise { + const config: Request = { url: '/rest/api/2/resolution/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -168,7 +159,7 @@ export class IssueResolutions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -188,16 +179,13 @@ export class IssueResolutions { * Permission to access Jira. */ async getResolution(parameters: Parameters.GetResolution, callback?: never): Promise; - async getResolution( - parameters: Parameters.GetResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getResolution(parameters: Parameters.GetResolution): Promise { + const config: Request = { url: `/rest/api/2/resolution/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -214,18 +202,18 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateResolution(parameters: Parameters.UpdateResolution, callback?: never): Promise; - async updateResolution(parameters: Parameters.UpdateResolution, callback?: Callback): Promise { - const config: RequestConfig = { + async updateResolution(parameters: Parameters.UpdateResolution): Promise { + const config: Request = { url: `/rest/api/2/resolution/${parameters.id}`, method: 'PUT', - data: { + body: { ...parameters, name: parameters.name, id: undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -252,18 +240,15 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteResolution(parameters: Parameters.DeleteResolution, callback?: never): Promise; - async deleteResolution( - parameters: Parameters.DeleteResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteResolution(parameters: Parameters.DeleteResolution): Promise { + const config: Request = { url: `/rest/api/2/resolution/${parameters.id}`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueSearch.ts b/src/version2/issueSearch.ts index 68b118f343..c957577657 100644 --- a/src/version2/issueSearch.ts +++ b/src/version2/issueSearch.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSearch { constructor(private client: Client) {} @@ -47,12 +47,11 @@ export class IssueSearch { ): Promise; async getIssuePickerResource( parameters?: Parameters.GetIssuePickerResource, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issue/picker', method: 'GET', - params: { + query: { query: parameters?.query, currentJQL: parameters?.currentJQL, currentIssueKey: parameters?.currentIssueKey, @@ -62,7 +61,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -89,20 +88,17 @@ export class IssueSearch { * to view the issue. */ async matchIssues(parameters: Parameters.MatchIssues, callback?: never): Promise; - async matchIssues( - parameters: Parameters.MatchIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async matchIssues(parameters: Parameters.MatchIssues): Promise { + const config: Request = { url: '/rest/api/2/jql/match', method: 'POST', - data: { + body: { issueIds: parameters.issueIds, jqls: parameters.jqls, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,12 +149,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJql( parameters: Parameters.SearchForIssuesUsingJql, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/search', method: 'GET', - params: { + query: { jql: parameters.jql, startAt: parameters.startAt, maxResults: parameters.maxResults, @@ -171,7 +166,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -222,12 +217,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlPost( parameters?: Parameters.SearchForIssuesUsingJqlPost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/search', method: 'POST', - data: { + body: { expand: parameters?.expand, fields: parameters?.fields, fieldsByKeys: parameters?.fieldsByKeys, @@ -239,7 +233,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -272,19 +266,16 @@ export class IssueSearch { * to view the issue. */ async countIssues(parameters: Parameters.CountIssues, callback?: never): Promise; - async countIssues( - parameters: Parameters.CountIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async countIssues(parameters: Parameters.CountIssues): Promise { + const config: Request = { url: '/rest/api/2/search/approximate-count', method: 'POST', - data: { + body: { jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -335,21 +326,18 @@ export class IssueSearch { parameters: Parameters.SearchForIssuesIds, callback?: never, ): Promise; - async searchForIssuesIds( - parameters: Parameters.SearchForIssuesIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchForIssuesIds(parameters: Parameters.SearchForIssuesIds): Promise { + const config: Request = { url: '/rest/api/2/search/id', method: 'POST', - data: { + body: { jql: parameters.jql, maxResults: parameters.maxResults, nextPageToken: parameters.nextPageToken, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -398,12 +386,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlEnhancedSearch( parameters: Parameters.SearchForIssuesUsingJqlEnhancedSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/search/jql', method: 'GET', - params: { + query: { jql: parameters.jql, nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, @@ -416,7 +403,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -459,13 +446,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlEnhancedSearchPost( parameters: Parameters.SearchForIssuesUsingJqlEnhancedSearchPost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/search/jql', method: 'POST', - data: { - // todo add deprecation notice + body: { expand: parameters.expand, fields: parameters.fields, fieldsByKeys: parameters.fieldsByKeys, @@ -477,6 +462,6 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueSecurityLevel.ts b/src/version2/issueSecurityLevel.ts index 995f1e1d3e..4472e8d738 100644 --- a/src/version2/issueSecurityLevel.ts +++ b/src/version2/issueSecurityLevel.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSecurityLevel { constructor(private client: Client) {} @@ -33,14 +33,13 @@ export class IssueSecurityLevel { ): Promise; async getIssueSecurityLevelMembers( parameters: Parameters.GetIssueSecurityLevelMembers | string, - callback?: Callback, ): Promise { const issueSecuritySchemeId = typeof parameters === 'string' ? parameters : parameters.issueSecuritySchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${issueSecuritySchemeId}/members`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, issueSecurityLevelId: typeof parameters !== 'string' && parameters.issueSecurityLevelId, @@ -48,7 +47,7 @@ export class IssueSecurityLevel { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,15 +80,14 @@ export class IssueSecurityLevel { ): Promise; async getIssueSecurityLevel( parameters: Parameters.GetIssueSecurityLevel | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/securitylevel/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueSecuritySchemes.ts b/src/version2/issueSecuritySchemes.ts index d290cb9a51..d9976b35fe 100644 --- a/src/version2/issueSecuritySchemes.ts +++ b/src/version2/issueSecuritySchemes.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSecuritySchemes { constructor(private client: Client) {} @@ -22,13 +22,13 @@ export class IssueSecuritySchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getIssueSecuritySchemes(callback?: never): Promise; - async getIssueSecuritySchemes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueSecuritySchemes(): Promise { + const config: Request = { url: '/rest/api/2/issuesecurityschemes', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -55,19 +55,18 @@ export class IssueSecuritySchemes { ): Promise; async createIssueSecurityScheme( parameters: Parameters.CreateIssueSecurityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuesecurityschemes', method: 'POST', - data: { + body: { description: parameters.description, levels: parameters.levels, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,14 +101,11 @@ export class IssueSecuritySchemes { parameters?: Parameters.GetSecurityLevels, callback?: never, ): Promise; - async getSecurityLevels( - parameters?: Parameters.GetSecurityLevels, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSecurityLevels(parameters?: Parameters.GetSecurityLevels): Promise { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/level', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: paramSerializer('id', parameters?.id), @@ -118,7 +114,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -138,19 +134,16 @@ export class IssueSecuritySchemes { * _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 = { + async setDefaultLevels(parameters?: Parameters.SetDefaultLevels): Promise { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/level/default', method: 'PUT', - data: { + body: { defaultValues: parameters?.defaultValues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -187,12 +180,11 @@ export class IssueSecuritySchemes { ): Promise; async getSecurityLevelMembers( parameters?: Parameters.GetSecurityLevelMembers, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/level/member', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: paramSerializer('id', parameters?.id), @@ -202,7 +194,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -231,12 +223,11 @@ export class IssueSecuritySchemes { ): Promise; async searchProjectsUsingSecuritySchemes( parameters?: Parameters.SearchProjectsUsingSecuritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/project', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueSecuritySchemeId: parameters?.issueSecuritySchemeId, @@ -244,7 +235,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -281,19 +272,18 @@ export class IssueSecuritySchemes { ): Promise; async associateSchemesToProjects( parameters: Parameters.AssociateSchemesToProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/project', method: 'PUT', - data: { + body: { oldToNewSecurityLevelMappings: parameters.oldToNewSecurityLevelMappings, projectId: parameters.projectId, schemeId: parameters.schemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,12 +320,11 @@ export class IssueSecuritySchemes { ): Promise; async searchSecuritySchemes( parameters?: Parameters.SearchSecuritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuesecurityschemes/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: paramSerializer('id', parameters?.id), @@ -343,7 +332,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -374,16 +363,15 @@ export class IssueSecuritySchemes { ): Promise; async getIssueSecurityScheme( parameters: Parameters.GetIssueSecurityScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -406,20 +394,17 @@ export class IssueSecuritySchemes { parameters: Parameters.UpdateIssueSecurityScheme, callback?: never, ): Promise; - async updateIssueSecurityScheme( - parameters: Parameters.UpdateIssueSecurityScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueSecurityScheme(parameters: Parameters.UpdateIssueSecurityScheme): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -439,16 +424,13 @@ export class IssueSecuritySchemes { * _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 = { + async deleteSecurityScheme(parameters: Parameters.DeleteSecurityScheme): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -465,16 +447,16 @@ export class IssueSecuritySchemes { * _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 = { + async addSecurityLevel(parameters: Parameters.AddSecurityLevel): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}/level`, method: 'PUT', - data: { + body: { levels: parameters.levels, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -491,20 +473,17 @@ export class IssueSecuritySchemes { * _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 = { + async updateSecurityLevel(parameters: Parameters.UpdateSecurityLevel): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -531,16 +510,16 @@ export class IssueSecuritySchemes { * _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 = { + async removeLevel(parameters: Parameters.RemoveLevel): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -560,19 +539,16 @@ export class IssueSecuritySchemes { * _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 = { + async addSecurityLevelMembers(parameters: Parameters.AddSecurityLevelMembers): Promise { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member`, method: 'PUT', - data: { + body: { members: parameters.members, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -597,13 +573,12 @@ export class IssueSecuritySchemes { ): Promise; async removeMemberFromSecurityLevel( parameters: Parameters.RemoveMemberFromSecurityLevel, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member/${parameters.memberId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueTypeProperties.ts b/src/version2/issueTypeProperties.ts index 7874b1aa3b..f711087030 100644 --- a/src/version2/issueTypeProperties.ts +++ b/src/version2/issueTypeProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeProperties { constructor(private client: Client) {} @@ -45,16 +45,15 @@ export class IssueTypeProperties { ): Promise; async getIssueTypePropertyKeys( parameters: Parameters.GetIssueTypePropertyKeys | string, - callback?: Callback, ): Promise { const issueTypeId = typeof parameters === 'string' ? parameters : parameters.issueTypeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetype/${issueTypeId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -93,14 +92,13 @@ export class IssueTypeProperties { ): Promise; async getIssueTypeProperty( parameters: Parameters.GetIssueTypeProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -130,17 +128,14 @@ export class IssueTypeProperties { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setIssueTypeProperty(parameters: Parameters.SetIssueTypeProperty, callback?: never): Promise; - async setIssueTypeProperty( - parameters: Parameters.SetIssueTypeProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setIssueTypeProperty(parameters: Parameters.SetIssueTypeProperty): Promise { + const config: Request = { url: `/rest/api/2/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -162,15 +157,12 @@ export class IssueTypeProperties { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueTypeProperty(parameters: Parameters.DeleteIssueTypeProperty, callback?: never): Promise; - async deleteIssueTypeProperty( - parameters: Parameters.DeleteIssueTypeProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueTypeProperty(parameters: Parameters.DeleteIssueTypeProperty): Promise { + const config: Request = { url: `/rest/api/2/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueTypeSchemes.ts b/src/version2/issueTypeSchemes.ts index b1b1119cdf..47653c65d5 100644 --- a/src/version2/issueTypeSchemes.ts +++ b/src/version2/issueTypeSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeSchemes { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class IssueTypeSchemes { ): Promise; async getAllIssueTypeSchemes( parameters?: Parameters.GetAllIssueTypeSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +49,7 @@ export class IssueTypeSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,12 +74,11 @@ export class IssueTypeSchemes { ): Promise; async createIssueTypeScheme( parameters: Parameters.CreateIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescheme', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, defaultIssueTypeId: parameters.defaultIssueTypeId, @@ -88,7 +86,7 @@ export class IssueTypeSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -119,19 +117,18 @@ export class IssueTypeSchemes { ): Promise; async getIssueTypeSchemesMapping( parameters?: Parameters.GetIssueTypeSchemesMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueTypeSchemeId: parameters?.issueTypeSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -162,19 +159,18 @@ export class IssueTypeSchemes { ): Promise; async getIssueTypeSchemeForProjects( parameters: Parameters.GetIssueTypeSchemeForProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -209,18 +205,17 @@ export class IssueTypeSchemes { ): Promise; async assignIssueTypeSchemeToProject( parameters: Parameters.AssignIssueTypeSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescheme/project', method: 'PUT', - data: { + body: { issueTypeSchemeId: parameters.issueTypeSchemeId, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -240,21 +235,18 @@ export class IssueTypeSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateIssueTypeScheme(parameters: Parameters.UpdateIssueTypeScheme, callback?: never): Promise; - async updateIssueTypeScheme( - parameters: Parameters.UpdateIssueTypeScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueTypeScheme(parameters: Parameters.UpdateIssueTypeScheme): Promise { + const config: Request = { url: `/rest/api/2/issuetypescheme/${parameters.issueTypeSchemeId}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, defaultIssueTypeId: parameters.defaultIssueTypeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -285,18 +277,15 @@ export class IssueTypeSchemes { parameters: Parameters.DeleteIssueTypeScheme | string, callback?: never, ): Promise; - async deleteIssueTypeScheme( - parameters: Parameters.DeleteIssueTypeScheme | string, - callback?: Callback, - ): Promise { + async deleteIssueTypeScheme(parameters: Parameters.DeleteIssueTypeScheme | string): Promise { const issueTypeSchemeId = typeof parameters === 'string' ? parameters : parameters.issueTypeSchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescheme/${issueTypeSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -329,17 +318,16 @@ export class IssueTypeSchemes { ): Promise; async addIssueTypesToIssueTypeScheme( parameters: Parameters.AddIssueTypesToIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype`, method: 'PUT', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -376,19 +364,18 @@ export class IssueTypeSchemes { ): Promise; async reorderIssueTypesInIssueTypeScheme( parameters: Parameters.ReorderIssueTypesInIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype/move`, method: 'PUT', - data: { + body: { issueTypeIds: parameters.issueTypeIds, after: parameters.after, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -425,13 +412,12 @@ export class IssueTypeSchemes { ): Promise; async removeIssueTypeFromIssueTypeScheme( parameters: Parameters.RemoveIssueTypeFromIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype/${parameters.issueTypeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueTypeScreenSchemes.ts b/src/version2/issueTypeScreenSchemes.ts index aa03097737..ee400d27f7 100644 --- a/src/version2/issueTypeScreenSchemes.ts +++ b/src/version2/issueTypeScreenSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeScreenSchemes { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemes( parameters?: Parameters.GetIssueTypeScreenSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescreenscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +49,7 @@ export class IssueTypeScreenSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,19 +74,18 @@ export class IssueTypeScreenSchemes { ): Promise; async createIssueTypeScreenScheme( parameters: Parameters.CreateIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescreenscheme', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, issueTypeMappings: parameters.issueTypeMappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,19 +116,18 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemeMappings( parameters?: Parameters.GetIssueTypeScreenSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescreenscheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueTypeScreenSchemeId: parameters?.issueTypeScreenSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -161,19 +158,18 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemeProjectAssociations( parameters: Parameters.GetIssueTypeScreenSchemeProjectAssociations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescreenscheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,18 +198,17 @@ export class IssueTypeScreenSchemes { ): Promise; async assignIssueTypeScreenSchemeToProject( parameters?: Parameters.AssignIssueTypeScreenSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetypescreenscheme/project', method: 'PUT', - data: { + body: { issueTypeScreenSchemeId: parameters?.issueTypeScreenSchemeId, projectId: parameters?.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -236,20 +231,17 @@ export class IssueTypeScreenSchemes { parameters: Parameters.UpdateIssueTypeScreenScheme, callback?: never, ): Promise; - async updateIssueTypeScreenScheme( - parameters: Parameters.UpdateIssueTypeScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueTypeScreenScheme(parameters: Parameters.UpdateIssueTypeScreenScheme): Promise { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -274,16 +266,15 @@ export class IssueTypeScreenSchemes { ): Promise; async deleteIssueTypeScreenScheme( parameters: Parameters.DeleteIssueTypeScreenScheme | string, - callback?: Callback, ): Promise { const issueTypeScreenSchemeId = typeof parameters === 'string' ? parameters : parameters.issueTypeScreenSchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${issueTypeScreenSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,17 +299,16 @@ export class IssueTypeScreenSchemes { ): Promise; async appendMappingsForIssueTypeScreenScheme( parameters: Parameters.AppendMappingsForIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping`, method: 'PUT', - data: { + body: { issueTypeMappings: parameters.issueTypeMappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -343,19 +333,16 @@ export class IssueTypeScreenSchemes { parameters: Parameters.UpdateDefaultScreenScheme, callback?: never, ): Promise; - async updateDefaultScreenScheme( - parameters: Parameters.UpdateDefaultScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateDefaultScreenScheme(parameters: Parameters.UpdateDefaultScreenScheme): Promise { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping/default`, method: 'PUT', - data: { + body: { screenSchemeId: parameters.screenSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -380,17 +367,16 @@ export class IssueTypeScreenSchemes { ): Promise; async removeMappingsFromIssueTypeScreenScheme( parameters: Parameters.RemoveMappingsFromIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping/remove`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -421,20 +407,19 @@ export class IssueTypeScreenSchemes { ): Promise; async getProjectsForIssueTypeScreenScheme( parameters: Parameters.GetProjectsForIssueTypeScreenScheme | string, - callback?: Callback, ): Promise { const issueTypeScreenSchemeId = typeof parameters === 'string' ? parameters : parameters.issueTypeScreenSchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetypescreenscheme/${issueTypeScreenSchemeId}/project`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, query: typeof parameters !== 'string' && parameters.query, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueTypes.ts b/src/version2/issueTypes.ts index 2122e35ad1..e6a278278e 100644 --- a/src/version2/issueTypes.ts +++ b/src/version2/issueTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypes { constructor(private client: Client) {} @@ -39,13 +39,13 @@ export class IssueTypes { * - If the user authentication is incorrect they will fall back to anonymous */ async getIssueAllTypes(callback?: never): Promise; - async getIssueAllTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueAllTypes(): Promise { + const config: Request = { url: '/rest/api/2/issuetype', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -68,21 +68,18 @@ export class IssueTypes { parameters: Parameters.CreateIssueType, callback?: never, ): Promise; - async createIssueType( - parameters: Parameters.CreateIssueType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueType(parameters: Parameters.CreateIssueType): Promise { + const config: Request = { url: '/rest/api/2/issuetype', method: 'POST', - data: { + body: { description: parameters.description, hierarchyLevel: parameters.hierarchyLevel, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -113,18 +110,17 @@ export class IssueTypes { ): Promise; async getIssueTypesForProject( parameters: Parameters.GetIssueTypesForProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issuetype/project', method: 'GET', - params: { + query: { projectId: parameters.projectId, level: parameters.level, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,18 +149,15 @@ export class IssueTypes { parameters: Parameters.GetIssueType | string, callback?: never, ): Promise; - async getIssueType( - parameters: Parameters.GetIssueType | string, - callback?: Callback, - ): Promise { + async getIssueType(parameters: Parameters.GetIssueType | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetype/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -187,21 +180,18 @@ export class IssueTypes { parameters: Parameters.UpdateIssueType, callback?: never, ): Promise; - async updateIssueType( - parameters: Parameters.UpdateIssueType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueType(parameters: Parameters.UpdateIssueType): Promise { + const config: Request = { url: `/rest/api/2/issuetype/${parameters.id}`, method: 'PUT', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -225,21 +215,18 @@ export class IssueTypes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueType(parameters: Parameters.DeleteIssueType | string, callback?: never): Promise; - async deleteIssueType( - parameters: Parameters.DeleteIssueType | string, - callback?: Callback, - ): Promise { + async deleteIssueType(parameters: Parameters.DeleteIssueType | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetype/${id}`, method: 'DELETE', - params: { + query: { alternativeIssueTypeId: typeof parameters !== 'string' ? parameters.alternativeIssueTypeId : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -268,16 +255,15 @@ export class IssueTypes { ): Promise; async getAlternativeIssueTypes( parameters: Parameters.GetAlternativeIssueTypes | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issuetype/${id}/alternatives`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -318,25 +304,22 @@ export class IssueTypes { parameters: Parameters.CreateIssueTypeAvatar, callback?: never, ): Promise; - async createIssueTypeAvatar( - parameters: Parameters.CreateIssueTypeAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueTypeAvatar(parameters: Parameters.CreateIssueTypeAvatar): Promise { + const config: Request = { url: `/rest/api/2/issuetype/${parameters.id}/avatar2`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueVotes.ts b/src/version2/issueVotes.ts index 2e6b731390..d5b317ecfa 100644 --- a/src/version2/issueVotes.ts +++ b/src/version2/issueVotes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueVotes { constructor(private client: Client) {} @@ -47,18 +47,15 @@ export class IssueVotes { * project permissions are not returned details in the `voters` field. */ async getVotes(parameters: Parameters.GetVotes | string, callback?: never): Promise; - async getVotes( - parameters: Parameters.GetVotes | string, - callback?: Callback, - ): Promise { + async getVotes(parameters: Parameters.GetVotes | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/votes`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -91,10 +88,10 @@ export class IssueVotes { * to view the issue. */ async addVote(parameters: Parameters.AddVote | string, callback?: never): Promise; - async addVote(parameters: Parameters.AddVote | string, callback?: Callback): Promise { + async addVote(parameters: Parameters.AddVote | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/votes`, method: 'POST', headers: { @@ -102,7 +99,7 @@ export class IssueVotes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -135,14 +132,14 @@ export class IssueVotes { * to view the issue. */ async removeVote(parameters: Parameters.RemoveVote | string, callback?: never): Promise; - async removeVote(parameters: Parameters.RemoveVote | string, callback?: Callback): Promise { + async removeVote(parameters: Parameters.RemoveVote | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/votes`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueWatchers.ts b/src/version2/issueWatchers.ts index f4d5568a69..413497d7a7 100644 --- a/src/version2/issueWatchers.ts +++ b/src/version2/issueWatchers.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWatchers { constructor(private client: Client) {} @@ -47,17 +47,16 @@ export class IssueWatchers { ): Promise; async getIsWatchingIssueBulk( parameters?: Parameters.GetIsWatchingIssueBulk, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issue/watching', method: 'POST', - data: { + body: { issueIds: parameters?.issueIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -104,18 +103,15 @@ export class IssueWatchers { parameters: Parameters.GetIssueWatchers | string, callback?: never, ): Promise; - async getIssueWatchers( - parameters: Parameters.GetIssueWatchers | string, - callback?: Callback, - ): Promise { + async getIssueWatchers(parameters: Parameters.GetIssueWatchers | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/watchers`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,17 +150,17 @@ export class IssueWatchers { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. */ async addWatcher(parameters: Parameters.AddWatcher, callback?: never): Promise; - async addWatcher(parameters: Parameters.AddWatcher, callback?: Callback): Promise { - const config: RequestConfig = { + async addWatcher(parameters: Parameters.AddWatcher): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/watchers`, method: 'POST', headers: { 'Content-Type': 'application/json', }, - data: parameters.accountId, + body: parameters.accountId, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -201,15 +197,15 @@ export class IssueWatchers { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. */ async removeWatcher(parameters: Parameters.RemoveWatcher, callback?: never): Promise; - async removeWatcher(parameters: Parameters.RemoveWatcher, callback?: Callback): Promise { - const config: RequestConfig = { + async removeWatcher(parameters: Parameters.RemoveWatcher): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/watchers`, method: 'DELETE', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueWorklogProperties.ts b/src/version2/issueWorklogProperties.ts index 7f272dc3c6..5fee396c58 100644 --- a/src/version2/issueWorklogProperties.ts +++ b/src/version2/issueWorklogProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWorklogProperties { constructor(private client: Client) {} @@ -43,14 +43,13 @@ export class IssueWorklogProperties { ): Promise; async getWorklogPropertyKeys( parameters: Parameters.GetWorklogPropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -87,16 +86,13 @@ export class IssueWorklogProperties { parameters: Parameters.GetWorklogProperty, callback?: never, ): Promise; - async getWorklogProperty( - parameters: Parameters.GetWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getWorklogProperty(parameters: Parameters.GetWorklogProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -140,16 +136,13 @@ export class IssueWorklogProperties { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async setWorklogProperty(parameters: Parameters.SetWorklogProperty, callback?: never): Promise; - async setWorklogProperty( - parameters: Parameters.SetWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setWorklogProperty(parameters: Parameters.SetWorklogProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -183,15 +176,12 @@ export class IssueWorklogProperties { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async deleteWorklogProperty(parameters: Parameters.DeleteWorklogProperty, callback?: never): Promise; - async deleteWorklogProperty( - parameters: Parameters.DeleteWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteWorklogProperty(parameters: Parameters.DeleteWorklogProperty): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issueWorklogs.ts b/src/version2/issueWorklogs.ts index 8296ee5fbc..2aacd0c334 100644 --- a/src/version2/issueWorklogs.ts +++ b/src/version2/issueWorklogs.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWorklogs { constructor(private client: Client) {} @@ -51,16 +51,13 @@ export class IssueWorklogs { parameters: Parameters.GetIssueWorklog | string, callback?: never, ): Promise; - async getIssueWorklog( - parameters: Parameters.GetIssueWorklog | string, - callback?: Callback, - ): Promise { + async getIssueWorklog(parameters: Parameters.GetIssueWorklog | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/worklog`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' ? parameters.startAt : undefined, maxResults: typeof parameters !== 'string' ? parameters.maxResults : undefined, startedAfter: typeof parameters !== 'string' ? parameters.startedAfter : undefined, @@ -69,7 +66,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -104,11 +101,11 @@ export class IssueWorklogs { * to view the issue. */ async addWorklog(parameters: Parameters.AddWorklog, callback?: never): Promise; - async addWorklog(parameters: Parameters.AddWorklog, callback?: Callback): Promise { - const config: RequestConfig = { + async addWorklog(parameters: Parameters.AddWorklog): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog`, method: 'POST', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, @@ -116,7 +113,7 @@ export class IssueWorklogs { expand: parameters.expand, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { author: parameters.author, comment: parameters.comment, created: parameters.created, @@ -133,7 +130,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -174,23 +171,20 @@ export class IssueWorklogs { * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async bulkDeleteWorklogs(parameters: Parameters.BulkDeleteWorklogs, callback?: never): Promise; - async bulkDeleteWorklogs( - parameters: Parameters.BulkDeleteWorklogs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkDeleteWorklogs(parameters: Parameters.BulkDeleteWorklogs): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog`, method: 'DELETE', - params: { + query: { adjustEstimate: parameters.adjustEstimate, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { ids: parameters.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -241,18 +235,18 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs, callback?: never): Promise; - async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs, callback?: Callback): Promise { - const config: RequestConfig = { + async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/move`, method: 'POST', - params: { + query: { adjustEstimate: parameters.adjustEstimate, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: parameters.worklogs, + body: parameters.worklogs, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -289,16 +283,16 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async getWorklog(parameters: Parameters.GetWorklog, callback?: never): Promise; - async getWorklog(parameters: Parameters.GetWorklog, callback?: Callback): Promise { - const config: RequestConfig = { + async getWorklog(parameters: Parameters.GetWorklog): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -339,21 +333,18 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async updateWorklog(parameters: Parameters.UpdateWorklog, callback?: never): Promise; - async updateWorklog( - parameters: Parameters.UpdateWorklog, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateWorklog(parameters: Parameters.UpdateWorklog): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, expand: parameters.expand, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { comment: parameters.comment, visibility: parameters.visibility, started: parameters.started, @@ -363,7 +354,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -404,11 +395,11 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async deleteWorklog(parameters: Parameters.DeleteWorklog, callback?: never): Promise; - async deleteWorklog(parameters: Parameters.DeleteWorklog, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteWorklog(parameters: Parameters.DeleteWorklog): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'DELETE', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, @@ -417,7 +408,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -456,17 +447,16 @@ export class IssueWorklogs { ): Promise; async getIdsOfWorklogsDeletedSince( parameters?: Parameters.GetIdsOfWorklogsDeletedSince, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/worklog/deleted', method: 'GET', - params: { + query: { since: parameters?.since, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -499,22 +489,19 @@ export class IssueWorklogs { parameters?: Parameters.GetWorklogsForIds, callback?: never, ): Promise; - async getWorklogsForIds( - parameters?: Parameters.GetWorklogsForIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getWorklogsForIds(parameters?: Parameters.GetWorklogsForIds): Promise { + const config: Request = { url: '/rest/api/2/worklog/list', method: 'POST', - params: { + query: { expand: parameters?.expand, }, - data: { + body: { ids: parameters?.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -559,17 +546,16 @@ export class IssueWorklogs { ): Promise; async getIdsOfWorklogsModifiedSince( parameters?: Parameters.GetIdsOfWorklogsModifiedSince, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/worklog/updated', method: 'GET', - params: { + query: { since: parameters?.since, expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/issues.ts b/src/version2/issues.ts index 63956eaf99..04a6cf9db5 100644 --- a/src/version2/issues.ts +++ b/src/version2/issues.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Issues { constructor(private client: Client) {} @@ -47,14 +47,11 @@ export class Issues { parameters: Parameters.GetBulkChangelogs, callback?: never, ): Promise; - async getBulkChangelogs( - parameters: Parameters.GetBulkChangelogs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBulkChangelogs(parameters: Parameters.GetBulkChangelogs): Promise { + const config: Request = { url: '/rest/api/2/changelog/bulkfetch', method: 'POST', - data: { + body: { fieldIds: parameters.fieldIds, issueIdsOrKeys: parameters.issueIdsOrKeys, maxResults: parameters.maxResults, @@ -62,7 +59,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,13 +76,13 @@ export class Issues { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getEvents(callback?: never): Promise; - async getEvents(callback?: Callback): Promise { - const config: RequestConfig = { + async getEvents(): Promise { + const config: Request = { url: '/rest/api/2/events', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -128,17 +125,14 @@ export class Issues { * which the issue or subtask is created. */ async createIssue(parameters: Parameters.CreateIssue, callback?: never): Promise; - async createIssue( - parameters: Parameters.CreateIssue, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssue(parameters: Parameters.CreateIssue): Promise { + const config: Request = { url: '/rest/api/2/issue', method: 'POST', - params: { + query: { updateHistory: parameters.updateHistory, }, - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -147,7 +141,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -200,19 +194,16 @@ export class Issues { * **Rate limiting:** Only a single request per jira instance can be active at any given time. */ async archiveIssuesAsync(parameters: Parameters.ArchiveIssuesAsync, callback?: never): Promise; - async archiveIssuesAsync( - parameters: Parameters.ArchiveIssuesAsync, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async archiveIssuesAsync(parameters: Parameters.ArchiveIssuesAsync): Promise { + const config: Request = { url: '/rest/api/2/issue/archive', method: 'POST', - data: { + body: { jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -252,19 +243,16 @@ export class Issues { * **Signed-in users only:** This API can't be accessed anonymously. */ async archiveIssues(parameters: Parameters.ArchiveIssues, callback?: never): Promise; - async archiveIssues( - parameters: Parameters.ArchiveIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async archiveIssues(parameters: Parameters.ArchiveIssues): Promise { + const config: Request = { url: '/rest/api/2/issue/archive', method: 'PUT', - data: { + body: { issueIdsOrKeys: parameters.issueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -310,19 +298,16 @@ export class Issues { * which each issue or subtask is created. */ async createIssues(parameters?: Parameters.CreateIssues, callback?: never): Promise; - async createIssues( - parameters?: Parameters.CreateIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssues(parameters?: Parameters.CreateIssues): Promise { + const config: Request = { url: '/rest/api/2/issue/bulk', method: 'POST', - data: { + body: { issueUpdates: parameters?.issueUpdates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -370,14 +355,11 @@ export class Issues { * to view the issue. */ async bulkFetchIssues(parameters: Parameters.BulkFetchIssues, callback?: never): Promise; - async bulkFetchIssues( - parameters: Parameters.BulkFetchIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkFetchIssues(parameters: Parameters.BulkFetchIssues): Promise { + const config: Request = { url: '/rest/api/2/issue/bulkfetch', method: 'POST', - data: { + body: { expand: parameters.expand, fields: parameters.fields, fieldsByKeys: parameters.fieldsByKeys, @@ -386,7 +368,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -433,12 +415,11 @@ export class Issues { ): Promise; async getCreateIssueMeta( parameters?: Parameters.GetCreateIssueMeta, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issue/createmeta', method: 'GET', - params: { + query: { projectIds: parameters?.projectIds, projectKeys: parameters?.projectKeys, issuetypeIds: parameters?.issuetypeIds, @@ -447,7 +428,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -478,18 +459,17 @@ export class Issues { ): Promise; async getCreateIssueMetaIssueTypes( parameters: Parameters.GetCreateIssueMetaIssueTypes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/createmeta/${parameters.projectIdOrKey}/issuetypes`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -520,18 +500,17 @@ export class Issues { ): Promise; async getCreateIssueMetaIssueTypeId( parameters: Parameters.GetCreateIssueMetaIssueTypeId, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/createmeta/${parameters.projectIdOrKey}/issuetypes/${parameters.issueTypeId}`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -562,20 +541,19 @@ export class Issues { ): Promise; async getIssueLimitReport( parameters?: Parameters.GetIssueLimitReport, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issue/limit/report', method: 'GET', - params: { + query: { isReturningKeys: parameters?.isReturningKeys, }, - data: { + body: { issuesApproachingLimitParams: parameters?.issuesApproachingLimitParams, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -618,19 +596,16 @@ export class Issues { parameters: Parameters.UnarchiveIssues, callback?: never, ): Promise; - async unarchiveIssues( - parameters: Parameters.UnarchiveIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async unarchiveIssues(parameters: Parameters.UnarchiveIssues): Promise { + const config: Request = { url: '/rest/api/2/issue/unarchive', method: 'PUT', - data: { + body: { issueIdsOrKeys: parameters.issueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -667,16 +642,13 @@ export class Issues { * to view the issue. */ async getIssue(parameters: Parameters.GetIssue | string, callback?: never): Promise; - async getIssue( - parameters: Parameters.GetIssue | string, - callback?: Callback, - ): Promise { + async getIssue(parameters: Parameters.GetIssue | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}`, method: 'GET', - params: { + query: { fields: typeof parameters !== 'string' ? parameters.fields : undefined, fieldsByKeys: typeof parameters !== 'string' ? parameters.fieldsByKeys : undefined, expand: typeof parameters !== 'string' ? parameters.expand : undefined, @@ -685,7 +657,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -740,18 +712,18 @@ export class Issues { * to view the issue. */ async editIssue(parameters: Parameters.EditIssue, callback?: never): Promise; - async editIssue(parameters: Parameters.EditIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async editIssue(parameters: Parameters.EditIssue): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, overrideScreenSecurity: parameters.overrideScreenSecurity, overrideEditableFlag: parameters.overrideEditableFlag, returnIssue: parameters.returnIssue, expand: parameters.expand, }, - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -760,7 +732,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -795,18 +767,18 @@ export class Issues { * to view the issue. */ async deleteIssue(parameters: Parameters.DeleteIssue | string, callback?: never): Promise; - async deleteIssue(parameters: Parameters.DeleteIssue | string, callback?: Callback): Promise { + async deleteIssue(parameters: Parameters.DeleteIssue | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}`, method: 'DELETE', - params: { + query: { deleteSubtasks: typeof parameters !== 'string' ? parameters.deleteSubtasks : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -847,11 +819,11 @@ export class Issues { * to view the issue. */ async assignIssue(parameters: Parameters.AssignIssue, callback?: never): Promise; - async assignIssue(parameters: Parameters.AssignIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async assignIssue(parameters: Parameters.AssignIssue): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/assignee`, method: 'PUT', - data: { + body: { accountId: parameters.accountId, accountType: parameters.accountType, active: parameters.active, @@ -869,7 +841,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -906,22 +878,19 @@ export class Issues { parameters: Parameters.GetChangeLogs | string, callback?: never, ): Promise; - async getChangeLogs( - parameters: Parameters.GetChangeLogs | string, - callback?: Callback, - ): Promise { + async getChangeLogs(parameters: Parameters.GetChangeLogs | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/changelog`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' ? parameters.startAt : undefined, maxResults: typeof parameters !== 'string' ? parameters.maxResults : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -956,19 +925,16 @@ export class Issues { parameters: Parameters.GetChangeLogsByIds, callback?: never, ): Promise; - async getChangeLogsByIds( - parameters: Parameters.GetChangeLogsByIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getChangeLogsByIds(parameters: Parameters.GetChangeLogsByIds): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/changelog/list`, method: 'POST', - data: { + body: { changelogIds: parameters.changelogIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1085,20 +1051,19 @@ export class Issues { ): Promise; async getEditIssueMeta( parameters: Parameters.GetEditIssueMeta | string, - callback?: Callback, ): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/editmeta`, method: 'GET', - params: { + query: { overrideScreenSecurity: typeof parameters !== 'string' ? parameters.overrideScreenSecurity : undefined, overrideEditableFlag: typeof parameters !== 'string' ? parameters.overrideEditableFlag : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1123,11 +1088,11 @@ export class Issues { * to view the issue. */ async notify(parameters: Parameters.Notify, callback?: never): Promise; - async notify(parameters: Parameters.Notify, callback?: Callback): Promise { - const config: RequestConfig = { + async notify(parameters: Parameters.Notify): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/notify`, method: 'POST', - data: { + body: { htmlBody: parameters.htmlBody, restrict: parameters.restrict, subject: parameters.subject, @@ -1136,7 +1101,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1187,16 +1152,13 @@ export class Issues { parameters: Parameters.GetTransitions | string, callback?: never, ): Promise; - async getTransitions( - parameters: Parameters.GetTransitions | string, - callback?: Callback, - ): Promise { + async getTransitions(parameters: Parameters.GetTransitions | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/issue/${issueIdOrKey}/transitions`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, transitionId: typeof parameters !== 'string' ? parameters.transitionId : undefined, skipRemoteOnlyCondition: typeof parameters !== 'string' ? parameters.skipRemoteOnlyCondition : undefined, @@ -1206,7 +1168,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1243,11 +1205,11 @@ export class Issues { * to view the issue. */ async doTransition(parameters: Parameters.DoTransition, callback?: never): Promise; - async doTransition(parameters: Parameters.DoTransition, callback?: Callback): Promise { - const config: RequestConfig = { + async doTransition(parameters: Parameters.DoTransition): Promise { + const config: Request = { url: `/rest/api/2/issue/${parameters.issueIdOrKey}/transitions`, method: 'POST', - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -1256,7 +1218,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1301,12 +1263,11 @@ export class Issues { ): Promise; async exportArchivedIssues( parameters: Parameters.ExportArchivedIssues, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/issues/archive/export', method: 'PUT', - data: { + body: { archivedBy: parameters.archivedBy, archivedDateRange: parameters.archivedDateRange, issueTypes: parameters.issueTypes, @@ -1315,6 +1276,6 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/jQL.ts b/src/version2/jQL.ts index 9388bea521..b2fb6a55a0 100644 --- a/src/version2/jQL.ts +++ b/src/version2/jQL.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JQL { constructor(private client: Client) {} @@ -37,13 +37,13 @@ export class JQL { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getAutoComplete(callback?: never): Promise; - async getAutoComplete(callback?: Callback): Promise { - const config: RequestConfig = { + async getAutoComplete(): Promise { + const config: Request = { url: '/rest/api/2/jql/autocompletedata', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,18 +90,17 @@ export class JQL { ): Promise; async getAutoCompletePost( parameters?: Parameters.GetAutoCompletePost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/jql/autocompletedata', method: 'POST', - data: { + body: { includeCollapsedFields: parameters?.includeCollapsedFields, projectIds: parameters?.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,12 +143,11 @@ export class JQL { ): Promise; async getFieldAutoCompleteForQueryString( parameters?: Parameters.GetFieldAutoCompleteForQueryString, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/jql/autocompletedata/suggestions', method: 'GET', - params: { + query: { fieldName: parameters?.fieldName, fieldValue: parameters?.fieldValue, predicateName: parameters?.predicateName, @@ -157,7 +155,7 @@ export class JQL { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -186,22 +184,19 @@ export class JQL { parameters: Parameters.ParseJqlQueries, callback?: never, ): Promise; - async parseJqlQueries( - parameters: Parameters.ParseJqlQueries, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async parseJqlQueries(parameters: Parameters.ParseJqlQueries): Promise { + const config: Request = { url: '/rest/api/2/jql/parse', method: 'POST', - params: { + query: { validation: parameters.validation, }, - data: { + body: { queries: parameters.queries, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -234,19 +229,16 @@ export class JQL { parameters?: Parameters.MigrateQueries, callback?: never, ): Promise; - async migrateQueries( - parameters?: Parameters.MigrateQueries, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async migrateQueries(parameters?: Parameters.MigrateQueries): Promise { + const config: Request = { url: '/rest/api/2/jql/pdcleaner', method: 'POST', - data: { + body: { queryStrings: parameters?.queryStrings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -297,16 +289,15 @@ export class JQL { ): Promise; async sanitiseJqlQueries( parameters?: Parameters.SanitiseJqlQueries, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/jql/sanitize', method: 'POST', - data: { + body: { queries: parameters?.queries, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/jiraExpressions.ts b/src/version2/jiraExpressions.ts index a5bc1a29bd..0cd79c8a71 100644 --- a/src/version2/jiraExpressions.ts +++ b/src/version2/jiraExpressions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JiraExpressions { constructor(private client: Client) {} @@ -37,21 +37,20 @@ export class JiraExpressions { ): Promise; async analyseExpression( parameters?: Parameters.AnalyseExpression, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/expression/analyse', method: 'POST', - params: { + query: { check: parameters?.check, }, - data: { + body: { contextVariables: parameters?.contextVariables, expressions: parameters?.expressions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -176,21 +175,20 @@ export class JiraExpressions { ): Promise; async evaluateJiraExpression( parameters: Parameters.EvaluateJiraExpression, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/expression/eval', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { context: parameters.context, expression: parameters.expression, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -323,20 +321,19 @@ export class JiraExpressions { ): Promise; async evaluateJiraExpressionUsingEnhancedSearch( parameters: Parameters.EvaluateJiraExpressionUsingEnhancedSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/expression/evaluate', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { expression: parameters.expression, context: parameters.context, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/jiraSettings.ts b/src/version2/jiraSettings.ts index 38f048e514..e2fae064ac 100644 --- a/src/version2/jiraSettings.ts +++ b/src/version2/jiraSettings.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JiraSettings { constructor(private client: Client) {} @@ -37,19 +37,18 @@ export class JiraSettings { ): Promise; async getApplicationProperty( parameters?: Parameters.GetApplicationProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/application-properties', method: 'GET', - params: { + query: { key: parameters?.key, permissionLevel: parameters?.permissionLevel, keyFilter: parameters?.keyFilter, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,13 +69,13 @@ export class JiraSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAdvancedSettings(callback?: never): Promise; - async getAdvancedSettings(callback?: Callback): Promise { - const config: RequestConfig = { + async getAdvancedSettings(): Promise { + const config: Request = { url: '/rest/api/2/application-properties/advanced-settings', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,15 +198,14 @@ export class JiraSettings { ): Promise; async setApplicationProperty( parameters: Parameters.SetApplicationProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/application-properties/${parameters.id}`, method: 'PUT', - data: parameters.body, + body: parameters.body, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -228,12 +226,12 @@ export class JiraSettings { * Permission to access Jira. */ async getConfiguration(callback?: never): Promise; - async getConfiguration(callback?: Callback): Promise { - const config: RequestConfig = { + async getConfiguration(): Promise { + const config: Request = { url: '/rest/api/2/configuration', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/jqlFunctionsApps.ts b/src/version2/jqlFunctionsApps.ts index e7ce05ec3f..047c1538cf 100644 --- a/src/version2/jqlFunctionsApps.ts +++ b/src/version2/jqlFunctionsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JqlFunctionsApps { constructor(private client: Client) {} @@ -37,12 +37,11 @@ export class JqlFunctionsApps { ): Promise; async getPrecomputations( parameters?: Parameters.GetPrecomputations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/jql/function/computation', method: 'GET', - params: { + query: { functionKey: parameters?.functionKey, startAt: parameters?.startAt, maxResults: parameters?.maxResults, @@ -51,7 +50,7 @@ export class JqlFunctionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,22 +76,19 @@ export class JqlFunctionsApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updatePrecomputations(parameters: Parameters.UpdatePrecomputations, callback?: never): Promise; - async updatePrecomputations( - parameters: Parameters.UpdatePrecomputations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updatePrecomputations(parameters: Parameters.UpdatePrecomputations): Promise { + const config: Request = { url: '/rest/api/2/jql/function/computation', method: 'POST', - params: { + query: { skipNotFoundPrecomputations: parameters.skipNotFoundPrecomputations, }, - data: { + body: { values: parameters.values, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -125,19 +121,18 @@ export class JqlFunctionsApps { ): Promise; async getPrecomputationsByID( parameters: Parameters.GetPrecomputationsByID, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/jql/function/computation/search', method: 'POST', - params: { + query: { orderBy: parameters.orderBy, }, - data: { + body: { precomputationIDs: parameters.precomputationIDs, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/labels.ts b/src/version2/labels.ts index e6a5c80ece..140eebcc03 100644 --- a/src/version2/labels.ts +++ b/src/version2/labels.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Labels { constructor(private client: Client) {} @@ -20,19 +20,16 @@ export class Labels { * labels. */ async getAllLabels(parameters?: Parameters.GetAllLabels, callback?: never): Promise; - async getAllLabels( - parameters?: Parameters.GetAllLabels, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllLabels(parameters?: Parameters.GetAllLabels): Promise { + const config: Request = { url: '/rest/api/2/label', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/licenseMetrics.ts b/src/version2/licenseMetrics.ts index ad11ba2eaf..51ad61af8d 100644 --- a/src/version2/licenseMetrics.ts +++ b/src/version2/licenseMetrics.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class LicenseMetrics { constructor(private client: Client) {} @@ -18,13 +18,13 @@ export class LicenseMetrics { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getLicense(callback?: never): Promise; - async getLicense(callback?: Callback): Promise { - const config: RequestConfig = { + async getLicense(): Promise { + const config: Request = { url: '/rest/api/2/instance/license', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -43,13 +43,13 @@ export class LicenseMetrics { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getApproximateLicenseCount(callback?: never): Promise; - async getApproximateLicenseCount(callback?: Callback): Promise { - const config: RequestConfig = { + async getApproximateLicenseCount(): Promise { + const config: Request = { url: '/rest/api/2/license/approximateLicenseCount', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -74,15 +74,12 @@ export class LicenseMetrics { applicationKey: string, callback?: never, ): Promise; - async getApproximateApplicationLicenseCount( - applicationKey: string, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getApproximateApplicationLicenseCount(applicationKey: string): Promise { + const config: Request = { url: `/rest/api/2/license/approximateLicenseCount/product/${applicationKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/models/attachmentContent.ts b/src/version2/models/attachmentContent.ts new file mode 100644 index 0000000000..3e5b6fdfce --- /dev/null +++ b/src/version2/models/attachmentContent.ts @@ -0,0 +1,4 @@ +export interface AttachmentContent { + contentType: string; + content: ArrayBuffer; +} diff --git a/src/version2/models/avatarWithDetails.ts b/src/version2/models/avatarWithDetails.ts index f0c47200c6..15f5f99071 100644 --- a/src/version2/models/avatarWithDetails.ts +++ b/src/version2/models/avatarWithDetails.ts @@ -2,5 +2,5 @@ export interface AvatarWithDetails { /** The content type of the avatar. Expected values include 'image/png', 'image/svg+xml', or any other valid MIME type. */ contentType: 'image/png' | 'image/svg+xml' | string; /** The binary representation of the avatar image. */ - avatar: Uint8Array; + avatar: ArrayBuffer; } diff --git a/src/version2/models/index.ts b/src/version2/models/index.ts index 2eba42ca74..54dc179fe7 100644 --- a/src/version2/models/index.ts +++ b/src/version2/models/index.ts @@ -1,3 +1,4 @@ +export * from './attachmentContent'; export * from './actorInput'; export * from './actorsMap'; export * from './addAtlassianTeamRequest'; diff --git a/src/version2/myself.ts b/src/version2/myself.ts index 94febedd39..c8dc560477 100644 --- a/src/version2/myself.ts +++ b/src/version2/myself.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Myself { constructor(private client: Client) {} @@ -59,16 +59,16 @@ export class Myself { * Permission to access Jira. */ async getPreference(parameters: Parameters.GetPreference, callback?: never): Promise; - async getPreference(parameters: Parameters.GetPreference, callback?: Callback): Promise { - const config: RequestConfig = { + async getPreference(parameters: Parameters.GetPreference): Promise { + const config: Request = { url: '/rest/api/2/mypreferences', method: 'GET', - params: { + query: { key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,20 +139,20 @@ export class Myself { * Permission to access Jira. */ async setPreference(parameters: Parameters.SetPreference, callback?: never): Promise; - async setPreference(parameters: Parameters.SetPreference, callback?: Callback): Promise { - const config: RequestConfig = { + async setPreference(parameters: Parameters.SetPreference): Promise { + const config: Request = { url: '/rest/api/2/mypreferences', method: 'PUT', headers: { 'Content-Type': typeof parameters.value === 'string' ? 'text/plain' : 'application/json', }, - params: { + query: { key: parameters.key, }, - data: parameters.value, + body: parameters.value, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -187,16 +187,16 @@ export class Myself { * Permission to access Jira. */ async removePreference(parameters: Parameters.RemovePreference, callback?: never): Promise; - async removePreference(parameters: Parameters.RemovePreference, callback?: Callback): Promise { - const config: RequestConfig = { + async removePreference(parameters: Parameters.RemovePreference): Promise { + const config: Request = { url: '/rest/api/2/mypreferences', method: 'DELETE', - params: { + query: { key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -223,13 +223,13 @@ export class Myself { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getLocale(callback?: never): Promise; - async getLocale(callback?: Callback): Promise { - const config: RequestConfig = { + async getLocale(): Promise { + const config: Request = { url: '/rest/api/2/mypreferences/locale', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -249,18 +249,15 @@ export class Myself { * Permission to access Jira. */ async getCurrentUser(parameters?: Parameters.GetCurrentUser, callback?: never): Promise; - async getCurrentUser( - parameters?: Parameters.GetCurrentUser, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCurrentUser(parameters?: Parameters.GetCurrentUser): Promise { + const config: Request = { url: '/rest/api/2/myself', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/permissionSchemes.ts b/src/version2/permissionSchemes.ts index f1fe3ddbfa..ce0890680e 100644 --- a/src/version2/permissionSchemes.ts +++ b/src/version2/permissionSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class PermissionSchemes { constructor(private client: Client) {} @@ -241,17 +241,16 @@ export class PermissionSchemes { ): Promise; async getAllPermissionSchemes( parameters?: Parameters.GetAllPermissionSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/permissionscheme', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,21 +277,20 @@ export class PermissionSchemes { ): Promise; async createPermissionScheme( parameters?: Parameters.CreatePermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/permissionscheme', method: 'POST', - params: { + query: { expand: parameters?.expand, }, - data: { + body: { ...parameters, expand: undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -317,19 +315,18 @@ export class PermissionSchemes { ): Promise; async getPermissionScheme( parameters: Parameters.GetPermissionScheme | string, - callback?: Callback, ): Promise { const schemeId = typeof parameters === 'string' ? parameters : parameters.schemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/permissionscheme/${schemeId}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -378,22 +375,21 @@ export class PermissionSchemes { ): Promise; async updatePermissionScheme( parameters: Parameters.UpdatePermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { ...parameters, schemeId: undefined, expand: undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -413,16 +409,13 @@ export class PermissionSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePermissionScheme(parameters: Parameters.DeletePermissionScheme, callback?: never): Promise; - async deletePermissionScheme( - parameters: Parameters.DeletePermissionScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePermissionScheme(parameters: Parameters.DeletePermissionScheme): Promise { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -447,17 +440,16 @@ export class PermissionSchemes { ): Promise; async getPermissionSchemeGrants( parameters: Parameters.GetPermissionSchemeGrants, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}/permission`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -482,15 +474,14 @@ export class PermissionSchemes { ): Promise; async createPermissionGrant( parameters: Parameters.CreatePermissionGrant, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}/permission`, method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { holder: parameters.holder, id: parameters.id, permission: parameters.permission, @@ -498,7 +489,7 @@ export class PermissionSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -523,17 +514,16 @@ export class PermissionSchemes { ): Promise; async getPermissionSchemeGrant( parameters: Parameters.GetPermissionSchemeGrant, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}/permission/${parameters.permissionId}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -558,15 +548,12 @@ export class PermissionSchemes { parameters: Parameters.DeletePermissionSchemeEntity, callback?: never, ): Promise; - async deletePermissionSchemeEntity( - parameters: Parameters.DeletePermissionSchemeEntity, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePermissionSchemeEntity(parameters: Parameters.DeletePermissionSchemeEntity): Promise { + const config: Request = { url: `/rest/api/2/permissionscheme/${parameters.schemeId}/permission/${parameters.permissionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/permissions.ts b/src/version2/permissions.ts index 54a76ea353..9a1e888c9c 100644 --- a/src/version2/permissions.ts +++ b/src/version2/permissions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Permissions { constructor(private client: Client) {} @@ -81,14 +81,11 @@ export class Permissions { parameters?: Parameters.GetMyPermissions, callback?: never, ): Promise; - async getMyPermissions( - parameters?: Parameters.GetMyPermissions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getMyPermissions(parameters?: Parameters.GetMyPermissions): Promise { + const config: Request = { url: '/rest/api/2/mypermissions', method: 'GET', - params: { + query: { projectKey: parameters?.projectKey, projectId: parameters?.projectId, issueKey: parameters?.issueKey, @@ -100,7 +97,7 @@ export class Permissions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -127,13 +124,13 @@ export class Permissions { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getAllPermissions(callback?: never): Promise; - async getAllPermissions(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllPermissions(): Promise { + const config: Request = { url: '/rest/api/2/permissions', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -206,19 +203,18 @@ export class Permissions { ): Promise; async getBulkPermissions( parameters?: Parameters.GetBulkPermissions, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/permissions/check', method: 'POST', - data: { + body: { accountId: parameters?.accountId, globalPermissions: parameters?.globalPermissions, projectPermissions: parameters?.projectPermissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -245,16 +241,15 @@ export class Permissions { ): Promise; async getPermittedProjects( parameters?: Parameters.GetPermittedProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/permissions/project', method: 'POST', - data: { + body: { permissions: parameters?.permissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/plans.ts b/src/version2/plans.ts index 53ac78c6f8..03a8da429c 100644 --- a/src/version2/plans.ts +++ b/src/version2/plans.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Plans { constructor(private client: Client) {} @@ -27,14 +27,11 @@ export class Plans { parameters?: Parameters.GetPlans, callback?: never, ): Promise; - async getPlans( - parameters?: Parameters.GetPlans, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPlans(parameters?: Parameters.GetPlans): Promise { + const config: Request = { url: '/rest/api/2/plans/plan', method: 'GET', - params: { + query: { includeTrashed: parameters?.includeTrashed, includeArchived: parameters?.includeArchived, cursor: parameters?.cursor, @@ -42,7 +39,7 @@ export class Plans { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -59,14 +56,14 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPlan(parameters: Parameters.CreatePlan, callback?: never): Promise; - async createPlan(parameters: Parameters.CreatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async createPlan(parameters: Parameters.CreatePlan): Promise { + const config: Request = { url: '/rest/api/2/plans/plan', method: 'POST', - params: { + query: { useGroupId: parameters.useGroupId, }, - data: { + body: { crossProjectReleases: parameters.crossProjectReleases, customFields: parameters.customFields, exclusionRules: parameters.exclusionRules, @@ -78,7 +75,7 @@ export class Plans { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -95,16 +92,16 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getPlan(parameters: Parameters.GetPlan, callback?: never): Promise; - async getPlan(parameters: Parameters.GetPlan, callback?: Callback): Promise { - const config: RequestConfig = { + async getPlan(parameters: Parameters.GetPlan): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}`, method: 'GET', - params: { + query: { useGroupId: parameters.useGroupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -213,16 +210,16 @@ export class Plans { * out the order of array elements._ */ async updatePlan(parameters: Parameters.UpdatePlan, callback?: never): Promise; - async updatePlan(parameters: Parameters.UpdatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async updatePlan(parameters: Parameters.UpdatePlan): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}`, method: 'PUT', - params: { + query: { useGroupId: parameters.useGroupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -239,13 +236,13 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async archivePlan(parameters: Parameters.ArchivePlan, callback?: never): Promise; - async archivePlan(parameters: Parameters.ArchivePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async archivePlan(parameters: Parameters.ArchivePlan): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/archive`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -262,16 +259,16 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async duplicatePlan(parameters: Parameters.DuplicatePlan, callback?: never): Promise; - async duplicatePlan(parameters: Parameters.DuplicatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async duplicatePlan(parameters: Parameters.DuplicatePlan): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/duplicate`, method: 'POST', - data: { + body: { name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -288,12 +285,12 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async trashPlan(parameters: Parameters.TrashPlan, callback?: never): Promise; - async trashPlan(parameters: Parameters.TrashPlan, callback?: Callback): Promise { - const config: RequestConfig = { + async trashPlan(parameters: Parameters.TrashPlan): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/trash`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/prioritySchemes.ts b/src/version2/prioritySchemes.ts index 2029d01065..4da5e7c40c 100644 --- a/src/version2/prioritySchemes.ts +++ b/src/version2/prioritySchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import { paramSerializer } from '../paramSerializer'; import type { Paginated } from '../paginated'; @@ -33,12 +33,11 @@ export class PrioritySchemes { ): Promise; async getPrioritySchemes>( parameters?: Parameters.GetPrioritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/priorityscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, priorityId: paramSerializer('priorityId', parameters?.priorityId), @@ -50,7 +49,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,12 +74,11 @@ export class PrioritySchemes { ): Promise; async createPriorityScheme( parameters: Parameters.CreatePriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/priorityscheme', method: 'POST', - data: { + body: { defaultPriorityId: parameters.defaultPriorityId, description: parameters.description, mappings: parameters.mappings, @@ -90,7 +88,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -117,12 +115,11 @@ export class PrioritySchemes { ): Promise; async suggestedPrioritiesForMappings>( parameters?: Parameters.SuggestedPrioritiesForMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/priorityscheme/mappings', method: 'POST', - data: { + body: { maxResults: parameters?.maxResults, priorities: parameters?.priorities, projects: parameters?.projects, @@ -131,7 +128,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -158,12 +155,11 @@ export class PrioritySchemes { ): Promise; async getAvailablePrioritiesByPriorityScheme>( parameters: Parameters.GetAvailablePrioritiesByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/priorityscheme/priorities/available', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, query: parameters.query, @@ -172,7 +168,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -197,12 +193,11 @@ export class PrioritySchemes { ): Promise; async updatePriorityScheme( parameters: Parameters.UpdatePriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/priorityscheme/${parameters.schemeId}`, method: 'PUT', - data: { + body: { defaultPriorityId: parameters.defaultPriorityId, description: parameters.description, mappings: parameters.mappings, @@ -212,7 +207,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,16 +233,13 @@ export class PrioritySchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePriorityScheme(parameters: Parameters.DeletePriorityScheme, callback?: never): Promise; - async deletePriorityScheme( - parameters: Parameters.DeletePriorityScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePriorityScheme(parameters: Parameters.DeletePriorityScheme): Promise { + const config: Request = { url: `/rest/api/2/priorityscheme/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -274,18 +266,17 @@ export class PrioritySchemes { ): Promise; async getPrioritiesByPriorityScheme>( parameters: Parameters.GetPrioritiesByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/priorityscheme/${parameters.schemeId}/priorities`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -312,12 +303,11 @@ export class PrioritySchemes { ): Promise; async getProjectsByPriorityScheme( parameters: Parameters.GetProjectsByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/priorityscheme/${parameters.schemeId}/projects`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: paramSerializer('projectId', parameters.projectId), @@ -325,6 +315,6 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectAvatars.ts b/src/version2/projectAvatars.ts index 70847c9366..d1e8cb83e0 100644 --- a/src/version2/projectAvatars.ts +++ b/src/version2/projectAvatars.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectAvatars { constructor(private client: Client) {} @@ -27,14 +27,11 @@ export class ProjectAvatars { * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). */ async updateProjectAvatar(parameters: Parameters.UpdateProjectAvatar, callback?: never): Promise; - async updateProjectAvatar( - parameters: Parameters.UpdateProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProjectAvatar(parameters: Parameters.UpdateProjectAvatar): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/avatar`, method: 'PUT', - data: { + body: { fileName: parameters.fileName, id: parameters.id, isDeletable: parameters.isDeletable, @@ -45,7 +42,7 @@ export class ProjectAvatars { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -62,16 +59,13 @@ export class ProjectAvatars { * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). */ async deleteProjectAvatar(parameters: Parameters.DeleteProjectAvatar, callback?: never): Promise; - async deleteProjectAvatar( - parameters: Parameters.DeleteProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteProjectAvatar(parameters: Parameters.DeleteProjectAvatar): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/avatar/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -112,26 +106,23 @@ export class ProjectAvatars { parameters: Parameters.CreateProjectAvatar, callback?: never, ): Promise; - async createProjectAvatar( - parameters: Parameters.CreateProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProjectAvatar(parameters: Parameters.CreateProjectAvatar): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/avatar2`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -160,15 +151,14 @@ export class ProjectAvatars { ): Promise; async getAllProjectAvatars( parameters: Parameters.GetAllProjectAvatars | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/avatars`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectCategories.ts b/src/version2/projectCategories.ts index 4cc75d2e86..266fbde6c0 100644 --- a/src/version2/projectCategories.ts +++ b/src/version2/projectCategories.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectCategories { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class ProjectCategories { * Permission to access Jira. */ async getAllProjectCategories(callback?: never): Promise; - async getAllProjectCategories(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectCategories(): Promise { + const config: Request = { url: '/rest/api/2/projectCategory', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -52,12 +52,11 @@ export class ProjectCategories { ): Promise; async createProjectCategory( parameters: Parameters.CreateProjectCategory, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/projectCategory', method: 'POST', - data: { + body: { description: parameters.description, id: parameters.id, name: parameters.name, @@ -65,7 +64,7 @@ export class ProjectCategories { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,16 +89,15 @@ export class ProjectCategories { ): Promise; async getProjectCategoryById( parameters: Parameters.GetProjectCategoryById | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/projectCategory/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -124,18 +122,17 @@ export class ProjectCategories { ): Promise; async updateProjectCategory( parameters: Parameters.UpdateProjectCategory, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/projectCategory/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -158,17 +155,14 @@ export class ProjectCategories { parameters: Parameters.RemoveProjectCategory | string, callback?: never, ): Promise; - async removeProjectCategory( - parameters: Parameters.RemoveProjectCategory | string, - callback?: Callback, - ): Promise { + async removeProjectCategory(parameters: Parameters.RemoveProjectCategory | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/projectCategory/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectClassificationLevels.ts b/src/version2/projectClassificationLevels.ts index e9659ba787..68ff338d7f 100644 --- a/src/version2/projectClassificationLevels.ts +++ b/src/version2/projectClassificationLevels.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectClassificationLevels { constructor(private client: Client) {} @@ -34,14 +34,13 @@ export class ProjectClassificationLevels { ): Promise; async getDefaultProjectClassification( parameters: Parameters.GetDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,17 +69,16 @@ export class ProjectClassificationLevels { ): Promise; async updateDefaultProjectClassification( parameters: Parameters.UpdateDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'PUT', - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,13 +107,12 @@ export class ProjectClassificationLevels { ): Promise; async removeDefaultProjectClassification( parameters: Parameters.RemoveDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectComponents.ts b/src/version2/projectComponents.ts index cff598a2b4..b3a3a646e8 100644 --- a/src/version2/projectComponents.ts +++ b/src/version2/projectComponents.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import type { Paginated } from '../paginated'; export class ProjectComponents { @@ -36,12 +36,11 @@ export class ProjectComponents { ): Promise; async findComponentsForProjects>( parameters?: Parameters.FindComponentsForProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/component', method: 'GET', - params: { + query: { projectIdsOrKeys: parameters?.projectIdsOrKeys, startAt: parameters?.startAt, maxResults: parameters?.maxResults, @@ -50,7 +49,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,14 +80,11 @@ export class ProjectComponents { parameters: Parameters.CreateComponent, callback?: never, ): Promise; - async createComponent( - parameters: Parameters.CreateComponent, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createComponent(parameters: Parameters.CreateComponent): Promise { + const config: Request = { url: '/rest/api/2/component', method: 'POST', - data: { + body: { ari: parameters.ari, assignee: parameters.assignee, assigneeType: parameters.assigneeType, @@ -108,7 +104,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -135,18 +131,15 @@ export class ProjectComponents { parameters: Parameters.GetComponent | string, callback?: never, ): Promise; - async getComponent( - parameters: Parameters.GetComponent | string, - callback?: Callback, - ): Promise { + async getComponent(parameters: Parameters.GetComponent | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/component/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -177,14 +170,11 @@ export class ProjectComponents { parameters: Parameters.UpdateComponent, callback?: never, ): Promise; - async updateComponent( - parameters: Parameters.UpdateComponent, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateComponent(parameters: Parameters.UpdateComponent): Promise { + const config: Request = { url: `/rest/api/2/component/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, leadUserName: parameters.leadUserName, @@ -194,7 +184,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -220,21 +210,18 @@ export class ProjectComponents { * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteComponent(parameters: Parameters.DeleteComponent | string, callback?: never): Promise; - async deleteComponent( - parameters: Parameters.DeleteComponent | string, - callback?: Callback, - ): Promise { + async deleteComponent(parameters: Parameters.DeleteComponent | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/component/${id}`, method: 'DELETE', - params: { + query: { moveIssuesTo: typeof parameters !== 'string' ? parameters.moveIssuesTo : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -271,16 +258,15 @@ export class ProjectComponents { ): Promise; async getComponentRelatedIssues( parameters: Parameters.GetComponentRelatedIssues | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/component/${id}/relatedIssueCounts`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -319,12 +305,11 @@ export class ProjectComponents { ): Promise; async getProjectComponentsPaginated( parameters: Parameters.GetProjectComponentsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/component`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, orderBy: parameters.orderBy, @@ -333,7 +318,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -372,18 +357,17 @@ export class ProjectComponents { ): Promise; async getProjectComponents( parameters: Parameters.GetProjectComponents | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/components`, method: 'GET', - params: { + query: { componentSource: typeof parameters !== 'string' ? parameters.componentSource : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectEmail.ts b/src/version2/projectEmail.ts index a63d2a672e..6b591f7592 100644 --- a/src/version2/projectEmail.ts +++ b/src/version2/projectEmail.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectEmail { constructor(private client: Client) {} @@ -29,16 +29,15 @@ export class ProjectEmail { ): Promise; async getProjectEmail( parameters: Parameters.GetProjectEmail | string, - callback?: Callback, ): Promise { const projectId = typeof parameters === 'string' ? parameters : parameters.projectId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectId}/email`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -61,19 +60,16 @@ export class ProjectEmail { * permission.](https://confluence.atlassian.com/x/yodKLg) */ async updateProjectEmail(parameters: Parameters.UpdateProjectEmail, callback?: never): Promise; - async updateProjectEmail( - parameters: Parameters.UpdateProjectEmail, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProjectEmail(parameters: Parameters.UpdateProjectEmail): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectId}/email`, method: 'PUT', - data: { + body: { emailAddress: parameters.emailAddress, emailAddressStatus: parameters.emailAddressStatus, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectFeatures.ts b/src/version2/projectFeatures.ts index 9a3e06d6fd..b8588b1d2c 100644 --- a/src/version2/projectFeatures.ts +++ b/src/version2/projectFeatures.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectFeatures { constructor(private client: Client) {} @@ -19,16 +19,15 @@ export class ProjectFeatures { ): Promise; async getFeaturesForProject( parameters: Parameters.GetFeaturesForProject | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/features`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Sets the state of a project feature. */ @@ -43,16 +42,15 @@ export class ProjectFeatures { ): Promise; async toggleFeatureForProject( parameters: Parameters.ToggleFeatureForProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/features/${parameters.featureKey}`, method: 'PUT', - data: { + body: { state: parameters.state, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectKeyAndNameValidation.ts b/src/version2/projectKeyAndNameValidation.ts index e4762ce35d..ed78c70201 100644 --- a/src/version2/projectKeyAndNameValidation.ts +++ b/src/version2/projectKeyAndNameValidation.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectKeyAndNameValidation { constructor(private client: Client) {} @@ -27,19 +27,18 @@ export class ProjectKeyAndNameValidation { ): Promise; async validateProjectKey( parameters?: Parameters.ValidateProjectKey | string, - callback?: Callback, ): Promise { const key = typeof parameters === 'string' ? parameters : parameters?.key; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/projectvalidate/key', method: 'GET', - params: { + query: { key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -60,21 +59,18 @@ export class ProjectKeyAndNameValidation { parameters?: Parameters.GetValidProjectKey | string, callback?: never, ): Promise; - async getValidProjectKey( - parameters?: Parameters.GetValidProjectKey | string, - callback?: Callback, - ): Promise { + async getValidProjectKey(parameters?: Parameters.GetValidProjectKey | string): Promise { const key = typeof parameters === 'string' ? parameters : parameters?.key; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/projectvalidate/validProjectKey', method: 'GET', - params: { + query: { key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,20 +95,17 @@ export class ProjectKeyAndNameValidation { parameters: Parameters.GetValidProjectName | string, callback?: never, ): Promise; - async getValidProjectName( - parameters: Parameters.GetValidProjectName | string, - callback?: Callback, - ): Promise { + async getValidProjectName(parameters: Parameters.GetValidProjectName | string): Promise { const name = typeof parameters === 'string' ? parameters : parameters.name; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/projectvalidate/validProjectName', method: 'GET', - params: { + query: { name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectPermissionSchemes.ts b/src/version2/projectPermissionSchemes.ts index 22a115d7f9..1ffceeb86c 100644 --- a/src/version2/projectPermissionSchemes.ts +++ b/src/version2/projectPermissionSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectPermissionSchemes { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class ProjectPermissionSchemes { ): Promise; async getProjectIssueSecurityScheme( parameters: Parameters.GetProjectIssueSecurityScheme | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectKeyOrId}/issuesecuritylevelscheme`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,19 +66,18 @@ export class ProjectPermissionSchemes { ): Promise; async getAssignedPermissionScheme( parameters: Parameters.GetAssignedPermissionScheme | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectKeyOrId}/permissionscheme`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,20 +104,19 @@ export class ProjectPermissionSchemes { ): Promise; async assignPermissionScheme( parameters: Parameters.AssignPermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${parameters.projectKeyOrId}/permissionscheme`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,15 +151,14 @@ export class ProjectPermissionSchemes { ): Promise; async getSecurityLevelsForProject( parameters: Parameters.GetSecurityLevelsForProject | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectKeyOrId}/securitylevel`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectProperties.ts b/src/version2/projectProperties.ts index e3aec62d18..144d137959 100644 --- a/src/version2/projectProperties.ts +++ b/src/version2/projectProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectProperties { constructor(private client: Client) {} @@ -37,16 +37,15 @@ export class ProjectProperties { ): Promise; async getProjectPropertyKeys( parameters: Parameters.GetProjectPropertyKeys | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,16 +74,13 @@ export class ProjectProperties { parameters: Parameters.GetProjectProperty, callback?: never, ): Promise; - async getProjectProperty( - parameters: Parameters.GetProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjectProperty(parameters: Parameters.GetProjectProperty): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -120,17 +116,14 @@ export class ProjectProperties { * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created. */ async setProjectProperty(parameters: Parameters.SetProjectProperty, callback?: never): Promise; - async setProjectProperty( - parameters: Parameters.SetProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setProjectProperty(parameters: Parameters.SetProjectProperty): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -160,15 +153,12 @@ export class ProjectProperties { * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property. */ async deleteProjectProperty(parameters: Parameters.DeleteProjectProperty, callback?: never): Promise; - async deleteProjectProperty( - parameters: Parameters.DeleteProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteProjectProperty(parameters: Parameters.DeleteProjectProperty): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectRoleActors.ts b/src/version2/projectRoleActors.ts index bdbacfd23a..a2d69330bb 100644 --- a/src/version2/projectRoleActors.ts +++ b/src/version2/projectRoleActors.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectRoleActors { constructor(private client: Client) {} @@ -36,21 +36,18 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addActorUsers(parameters: Parameters.AddActorUsers, callback?: never): Promise; - async addActorUsers( - parameters: Parameters.AddActorUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addActorUsers(parameters: Parameters.AddActorUsers): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'POST', - data: { + body: { user: parameters.user, group: parameters.group, groupId: parameters.groupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,16 +72,16 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setActors(parameters: Parameters.SetActors, callback?: never): Promise; - async setActors(parameters: Parameters.SetActors, callback?: Callback): Promise { - const config: RequestConfig = { + async setActors(parameters: Parameters.SetActors): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'PUT', - data: { + body: { categorisedActors: parameters.categorisedActors, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -113,18 +110,18 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteActor(parameters: Parameters.DeleteActor, callback?: never): Promise; - async deleteActor(parameters: Parameters.DeleteActor, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteActor(parameters: Parameters.DeleteActor): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'DELETE', - params: { + query: { user: parameters.user, group: parameters.group, groupId: parameters.groupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,16 +146,15 @@ export class ProjectRoleActors { ): Promise; async getProjectRoleActorsForRole( parameters: Parameters.GetProjectRoleActorsForRole | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${id}/actors`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -189,19 +185,18 @@ export class ProjectRoleActors { ): Promise; async addProjectRoleActorsToRole( parameters: Parameters.AddProjectRoleActorsToRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${parameters.id}/actors`, method: 'POST', - data: { + body: { user: parameters.user, groupId: parameters.groupId, group: parameters.group, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -232,18 +227,17 @@ export class ProjectRoleActors { ): Promise; async deleteProjectRoleActorsFromRole( parameters: Parameters.DeleteProjectRoleActorsFromRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${parameters.id}/actors`, method: 'DELETE', - params: { + query: { user: parameters.user, groupId: parameters.groupId, group: parameters.group, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectRoles.ts b/src/version2/projectRoles.ts index 150a13b7cf..50c9211ddc 100644 --- a/src/version2/projectRoles.ts +++ b/src/version2/projectRoles.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectRoles { constructor(private client: Client) {} @@ -45,16 +45,15 @@ export class ProjectRoles { ): Promise; async getProjectRoles>( parameters: Parameters.GetProjectRoles | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/role`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,19 +89,16 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getProjectRole(parameters: Parameters.GetProjectRole, callback?: never): Promise; - async getProjectRole( - parameters: Parameters.GetProjectRole, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjectRole(parameters: Parameters.GetProjectRole): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'GET', - params: { + query: { excludeInactiveUsers: parameters.excludeInactiveUsers, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -135,20 +131,19 @@ export class ProjectRoles { ): Promise; async getProjectRoleDetails( parameters: Parameters.GetProjectRoleDetails | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/roledetails`, method: 'GET', - params: { + query: { currentMember: typeof parameters !== 'string' ? parameters.currentMember : undefined, excludeConnectAddons: typeof parameters !== 'string' ? parameters.excludeConnectAddons : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,13 +212,13 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllProjectRoles(callback?: never): Promise; - async getAllProjectRoles(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectRoles(): Promise { + const config: Request = { url: '/rest/api/2/role', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -256,20 +251,17 @@ export class ProjectRoles { parameters: Parameters.CreateProjectRole, callback?: never, ): Promise; - async createProjectRole( - parameters: Parameters.CreateProjectRole, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProjectRole(parameters: Parameters.CreateProjectRole): Promise { + const config: Request = { url: '/rest/api/2/role', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -296,16 +288,15 @@ export class ProjectRoles { ): Promise; async getProjectRoleById( parameters: Parameters.GetProjectRoleById | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -336,18 +327,17 @@ export class ProjectRoles { ): Promise; async partialUpdateProjectRole( parameters: Parameters.PartialUpdateProjectRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${parameters.id}`, method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -372,18 +362,17 @@ export class ProjectRoles { ): Promise; async fullyUpdateProjectRole( parameters: Parameters.FullyUpdateProjectRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -405,20 +394,17 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteProjectRole(parameters: Parameters.DeleteProjectRole | string, callback?: never): Promise; - async deleteProjectRole( - parameters: Parameters.DeleteProjectRole | string, - callback?: Callback, - ): Promise { + async deleteProjectRole(parameters: Parameters.DeleteProjectRole | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/role/${id}`, method: 'DELETE', - params: { + query: { swap: typeof parameters !== 'string' ? parameters.swap : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectTemplates.ts b/src/version2/projectTemplates.ts index 49fa519391..699933bdbd 100644 --- a/src/version2/projectTemplates.ts +++ b/src/version2/projectTemplates.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectTemplates { constructor(private client: Client) {} @@ -52,17 +52,16 @@ export class ProjectTemplates { ): Promise; async createProjectWithCustomTemplate( parameters?: Parameters.CreateProjectWithCustomTemplate, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/project-template', method: 'POST', - data: { + body: { details: parameters?.details, template: parameters?.template, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectTypes.ts b/src/version2/projectTypes.ts index 6f8623a571..ee178cfefd 100644 --- a/src/version2/projectTypes.ts +++ b/src/version2/projectTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectTypes { constructor(private client: Client) {} @@ -25,26 +25,26 @@ export class ProjectTypes { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getAllProjectTypes(callback?: never): Promise; - async getAllProjectTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectTypes(): Promise { + const config: Request = { url: '/rest/api/2/project/type', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */ async getAllAccessibleProjectTypes(callback: Callback): Promise; /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */ async getAllAccessibleProjectTypes(callback?: never): Promise; - async getAllAccessibleProjectTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllAccessibleProjectTypes(): Promise { + const config: Request = { url: '/rest/api/2/project/type/accessible', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -71,16 +71,15 @@ export class ProjectTypes { ): Promise; async getProjectTypeByKey( parameters: Parameters.GetProjectTypeByKey | string, - callback?: Callback, ): Promise { const projectTypeKey = typeof parameters === 'string' ? parameters : parameters.projectTypeKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/type/${projectTypeKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,15 +104,14 @@ export class ProjectTypes { ): Promise; async getAccessibleProjectTypeByKey( parameters: Parameters.GetAccessibleProjectTypeByKey | string, - callback?: Callback, ): Promise { const projectTypeKey = typeof parameters === 'string' ? parameters : parameters.projectTypeKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/type/${projectTypeKey}/accessible`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projectVersions.ts b/src/version2/projectVersions.ts index bed3125e56..12031f7233 100644 --- a/src/version2/projectVersions.ts +++ b/src/version2/projectVersions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectVersions { constructor(private client: Client) {} @@ -37,14 +37,13 @@ export class ProjectVersions { ): Promise; async getProjectVersionsPaginated( parameters: Parameters.GetProjectVersionsPaginated | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/version`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' ? parameters.startAt : undefined, maxResults: typeof parameters !== 'string' ? parameters.maxResults : undefined, orderBy: typeof parameters !== 'string' ? parameters.orderBy : undefined, @@ -54,7 +53,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -87,19 +86,18 @@ export class ProjectVersions { ): Promise; async getProjectVersions( parameters: Parameters.GetProjectVersions | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/versions`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,14 +120,11 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to. */ async createVersion(parameters: Parameters.CreateVersion, callback?: never): Promise; - async createVersion( - parameters: Parameters.CreateVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createVersion(parameters: Parameters.CreateVersion): Promise { + const config: Request = { url: '/rest/api/2/version', method: 'POST', - data: { + body: { approvers: parameters.approvers, archived: parameters.archived, description: parameters.description, @@ -151,7 +146,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -175,21 +170,18 @@ export class ProjectVersions { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version. */ async getVersion(parameters: Parameters.GetVersion | string, callback?: never): Promise; - async getVersion( - parameters: Parameters.GetVersion | string, - callback?: Callback, - ): Promise { + async getVersion(parameters: Parameters.GetVersion | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/version/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,14 +204,11 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async updateVersion(parameters: Parameters.UpdateVersion, callback?: never): Promise; - async updateVersion( - parameters: Parameters.UpdateVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateVersion(parameters: Parameters.UpdateVersion): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}`, method: 'PUT', - data: { + body: { approvers: parameters.approvers, driver: parameters.driver, expand: parameters.expand, @@ -234,7 +223,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -265,13 +254,13 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async mergeVersions(parameters: Parameters.MergeVersions, callback?: never): Promise; - async mergeVersions(parameters: Parameters.MergeVersions, callback?: Callback): Promise { - const config: RequestConfig = { + async mergeVersions(parameters: Parameters.MergeVersions): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/mergeto/${parameters.moveIssuesTo}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -292,17 +281,17 @@ export class ProjectVersions { * projects_ project permission for the project that contains the version. */ async moveVersion(parameters: Parameters.MoveVersion, callback?: never): Promise; - async moveVersion(parameters: Parameters.MoveVersion, callback?: Callback): Promise { - const config: RequestConfig = { + async moveVersion(parameters: Parameters.MoveVersion): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/move`, method: 'POST', - data: { + body: { after: parameters.after, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -339,16 +328,15 @@ export class ProjectVersions { ): Promise; async getVersionRelatedIssues( parameters: Parameters.GetVersionRelatedIssues | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/version/${id}/relatedIssueCounts`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -375,16 +363,13 @@ export class ProjectVersions { parameters: Parameters.GetRelatedWork, callback?: never, ): Promise; - async getRelatedWork( - parameters: Parameters.GetRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRelatedWork(parameters: Parameters.GetRelatedWork): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/relatedwork`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -417,14 +402,11 @@ export class ProjectVersions { parameters: Parameters.CreateRelatedWork, callback?: never, ): Promise; - async createRelatedWork( - parameters: Parameters.CreateRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createRelatedWork(parameters: Parameters.CreateRelatedWork): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/relatedwork`, method: 'POST', - data: { + body: { category: parameters.category, issueId: parameters.issueId, relatedWorkId: parameters.relatedWorkId, @@ -433,7 +415,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -466,14 +448,11 @@ export class ProjectVersions { parameters: Parameters.UpdateRelatedWork, callback?: never, ): Promise; - async updateRelatedWork( - parameters: Parameters.UpdateRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateRelatedWork(parameters: Parameters.UpdateRelatedWork): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/relatedwork`, method: 'PUT', - data: { + body: { category: parameters.category, issueId: parameters.issueId, relatedWorkId: parameters.relatedWorkId, @@ -482,7 +461,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -520,21 +499,18 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async deleteAndReplaceVersion(parameters: Parameters.DeleteAndReplaceVersion, callback?: never): Promise; - async deleteAndReplaceVersion( - parameters: Parameters.DeleteAndReplaceVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAndReplaceVersion(parameters: Parameters.DeleteAndReplaceVersion): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.id}/removeAndSwap`, method: 'POST', - data: { + body: { customFieldReplacementList: parameters.customFieldReplacementList, moveAffectedIssuesTo: parameters.moveAffectedIssuesTo, moveFixIssuesTo: parameters.moveFixIssuesTo, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -563,16 +539,15 @@ export class ProjectVersions { ): Promise; async getVersionUnresolvedIssues( parameters: Parameters.GetVersionUnresolvedIssues | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/version/${id}/unresolvedIssueCount`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -597,15 +572,12 @@ export class ProjectVersions { * project that contains the version. */ async deleteRelatedWork(parameters: Parameters.DeleteRelatedWork, callback?: never): Promise; - async deleteRelatedWork( - parameters: Parameters.DeleteRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRelatedWork(parameters: Parameters.DeleteRelatedWork): Promise { + const config: Request = { url: `/rest/api/2/version/${parameters.versionId}/relatedwork/${parameters.relatedWorkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/projects.ts b/src/version2/projects.ts index f3b5cc6786..b16d96edb9 100644 --- a/src/version2/projects.ts +++ b/src/version2/projects.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Projects { constructor(private client: Client) {} @@ -61,14 +61,11 @@ export class Projects { parameters: Parameters.CreateProject, callback?: never, ): Promise; - async createProject( - parameters: Parameters.CreateProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProject(parameters: Parameters.CreateProject): Promise { + const config: Request = { url: '/rest/api/2/project', method: 'POST', - data: { + body: { assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, categoryId: parameters.categoryId, @@ -89,7 +86,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -121,17 +118,17 @@ export class Projects { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getRecent(parameters?: Parameters.GetRecent, callback?: never): Promise; - async getRecent(parameters?: Parameters.GetRecent, callback?: Callback): Promise { - const config: RequestConfig = { + async getRecent(parameters?: Parameters.GetRecent): Promise { + const config: Request = { url: '/rest/api/2/project/recent', method: 'GET', - params: { + query: { expand: parameters?.expand, properties: parameters?.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,14 +162,11 @@ export class Projects { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async searchProjects(parameters?: Parameters.SearchProjects, callback?: never): Promise; - async searchProjects( - parameters?: Parameters.SearchProjects, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchProjects(parameters?: Parameters.SearchProjects): Promise { + const config: Request = { url: '/rest/api/2/project/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, orderBy: parameters?.orderBy, @@ -189,7 +183,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -213,22 +207,19 @@ export class Projects { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. */ async getProject(parameters: Parameters.GetProject | string, callback?: never): Promise; - async getProject( - parameters: Parameters.GetProject | string, - callback?: Callback, - ): Promise { + async getProject(parameters: Parameters.GetProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, properties: typeof parameters !== 'string' ? parameters.properties : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -255,17 +246,14 @@ export class Projects { * permission](https://confluence.atlassian.com/x/yodKLg) */ async updateProject(parameters: Parameters.UpdateProject, callback?: never): Promise; - async updateProject( - parameters: Parameters.UpdateProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProject(parameters: Parameters.UpdateProject): Promise { + const config: Request = { url: `/rest/api/2/project/${parameters.projectIdOrKey}`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, categoryId: parameters.categoryId, @@ -283,7 +271,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,21 +294,18 @@ export class Projects { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteProject(parameters: Parameters.DeleteProject | string, callback?: never): Promise; - async deleteProject( - parameters: Parameters.DeleteProject | string, - callback?: Callback, - ): Promise { + async deleteProject(parameters: Parameters.DeleteProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}`, method: 'DELETE', - params: { + query: { enableUndo: typeof parameters !== 'string' ? parameters.enableUndo : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -339,18 +324,15 @@ export class Projects { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async archiveProject(parameters: Parameters.ArchiveProject | string, callback?: never): Promise; - async archiveProject( - parameters: Parameters.ArchiveProject | string, - callback?: Callback, - ): Promise { + async archiveProject(parameters: Parameters.ArchiveProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/archive`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -389,16 +371,15 @@ export class Projects { ): Promise; async deleteProjectAsynchronously( parameters: Parameters.DeleteProjectAsynchronously | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/delete`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -421,18 +402,15 @@ export class Projects { * permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects. */ async restore(parameters: Parameters.Restore | string, callback?: never): Promise; - async restore( - parameters: Parameters.Restore | string, - callback?: Callback, - ): Promise { + async restore(parameters: Parameters.Restore | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/restore`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -463,16 +441,15 @@ export class Projects { ): Promise; async getAllStatuses( parameters: Parameters.GetAllStatuses | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectIdOrKey}/statuses`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -513,16 +490,15 @@ export class Projects { ): Promise; async getHierarchy( parameters: Parameters.GetHierarchy | string, - callback?: Callback, ): Promise { const projectId = typeof parameters === 'string' ? parameters : parameters.projectId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectId}/hierarchy`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -549,18 +525,17 @@ export class Projects { ): Promise; async getNotificationSchemeForProject( parameters: Parameters.GetNotificationSchemeForProject | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/project/${projectKeyOrId}/notificationscheme`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' ? parameters.expand : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/screenSchemes.ts b/src/version2/screenSchemes.ts index deddfb6d36..e381436a9a 100644 --- a/src/version2/screenSchemes.ts +++ b/src/version2/screenSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ScreenSchemes { constructor(private client: Client) {} @@ -33,14 +33,11 @@ export class ScreenSchemes { parameters?: Parameters.GetScreenSchemes, callback?: never, ): Promise; - async getScreenSchemes( - parameters?: Parameters.GetScreenSchemes, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getScreenSchemes(parameters?: Parameters.GetScreenSchemes): Promise { + const config: Request = { url: '/rest/api/2/screenscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +47,7 @@ export class ScreenSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,21 +72,20 @@ export class ScreenSchemes { ): Promise; async createScreenScheme( parameters: Parameters.CreateScreenScheme | string, - callback?: Callback, ): Promise { const name = typeof parameters === 'string' ? parameters : parameters.name; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/screenscheme', method: 'POST', - data: { + body: { name, description: typeof parameters !== 'string' && parameters.description, screens: typeof parameters !== 'string' && parameters.screens, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,21 +102,18 @@ export class ScreenSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateScreenScheme(parameters: Parameters.UpdateScreenScheme, callback?: never): Promise; - async updateScreenScheme( - parameters: Parameters.UpdateScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateScreenScheme(parameters: Parameters.UpdateScreenScheme): Promise { + const config: Request = { url: `/rest/api/2/screenscheme/${parameters.screenSchemeId}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, screens: parameters.screens, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,17 +137,14 @@ export class ScreenSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteScreenScheme(parameters: Parameters.DeleteScreenScheme | string, callback?: never): Promise; - async deleteScreenScheme( - parameters: Parameters.DeleteScreenScheme | string, - callback?: Callback, - ): Promise { + async deleteScreenScheme(parameters: Parameters.DeleteScreenScheme | string): Promise { const screenSchemeId = typeof parameters === 'string' ? parameters : parameters.screenSchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screenscheme/${screenSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/screenTabFields.ts b/src/version2/screenTabFields.ts index 097bcd041a..8657457186 100644 --- a/src/version2/screenTabFields.ts +++ b/src/version2/screenTabFields.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ScreenTabFields { constructor(private client: Client) {} @@ -37,17 +37,16 @@ export class ScreenTabFields { ): Promise; async getAllScreenTabFields( parameters: Parameters.GetAllScreenTabFields, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields`, method: 'GET', - params: { + query: { projectKey: parameters.projectKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,19 +69,16 @@ export class ScreenTabFields { parameters: Parameters.AddScreenTabField, callback?: never, ): Promise; - async addScreenTabField( - parameters: Parameters.AddScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addScreenTabField(parameters: Parameters.AddScreenTabField): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields`, method: 'POST', - data: { + body: { fieldId: parameters.fieldId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,16 +98,13 @@ export class ScreenTabFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeScreenTabField(parameters: Parameters.RemoveScreenTabField, callback?: never): Promise; - async removeScreenTabField( - parameters: Parameters.RemoveScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeScreenTabField(parameters: Parameters.RemoveScreenTabField): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -132,19 +125,16 @@ export class ScreenTabFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveScreenTabField(parameters: Parameters.MoveScreenTabField, callback?: never): Promise; - async moveScreenTabField( - parameters: Parameters.MoveScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveScreenTabField(parameters: Parameters.MoveScreenTabField): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields/${parameters.id}/move`, method: 'POST', - data: { + body: { after: parameters.after, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/screenTabs.ts b/src/version2/screenTabs.ts index 00ae3a56e8..d7977ac41e 100644 --- a/src/version2/screenTabs.ts +++ b/src/version2/screenTabs.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ScreenTabs { constructor(private client: Client) {} @@ -26,14 +26,11 @@ export class ScreenTabs { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getBulkScreenTabs(parameters?: Parameters.GetBulkScreenTabs, callback?: never): Promise; - async getBulkScreenTabs( - parameters?: Parameters.GetBulkScreenTabs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBulkScreenTabs(parameters?: Parameters.GetBulkScreenTabs): Promise { + const config: Request = { url: '/rest/api/2/screens/tabs', method: 'GET', - params: { + query: { screenId: parameters?.screenId, tabId: parameters?.tabId, startAt: parameters?.startAt, @@ -41,7 +38,7 @@ export class ScreenTabs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -74,19 +71,18 @@ export class ScreenTabs { ): Promise; async getAllScreenTabs( parameters: Parameters.GetAllScreenTabs | string, - callback?: Callback, ): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screens/${screenId}/tabs`, method: 'GET', - params: { + query: { projectKey: typeof parameters !== 'string' && parameters.projectKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,20 +102,17 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addScreenTab(parameters: Parameters.AddScreenTab, callback?: never): Promise; - async addScreenTab( - parameters: Parameters.AddScreenTab, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addScreenTab(parameters: Parameters.AddScreenTab): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs`, method: 'POST', - data: { + body: { id: parameters.id, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,20 +132,17 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async renameScreenTab(parameters: Parameters.RenameScreenTab, callback?: never): Promise; - async renameScreenTab( - parameters: Parameters.RenameScreenTab, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async renameScreenTab(parameters: Parameters.RenameScreenTab): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}`, method: 'PUT', - data: { + body: { id: parameters.id, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -169,13 +159,13 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteScreenTab(parameters: Parameters.DeleteScreenTab, callback?: never): Promise; - async deleteScreenTab(parameters: Parameters.DeleteScreenTab, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteScreenTab(parameters: Parameters.DeleteScreenTab): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -192,12 +182,12 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveScreenTab(parameters: Parameters.MoveScreenTab, callback?: never): Promise; - async moveScreenTab(parameters: Parameters.MoveScreenTab, callback?: Callback): Promise { - const config: RequestConfig = { + async moveScreenTab(parameters: Parameters.MoveScreenTab): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}/tabs/${parameters.tabId}/move/${parameters.pos}`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/screens.ts b/src/version2/screens.ts index d4440af41e..3a1a449ff9 100644 --- a/src/version2/screens.ts +++ b/src/version2/screens.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Screens { constructor(private client: Client) {} @@ -31,21 +31,20 @@ export class Screens { ): Promise; async getScreensForField( parameters: Parameters.GetScreensForField | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/field/${fieldId}/screens`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,14 +66,11 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getScreens(parameters?: Parameters.GetScreens, callback?: never): Promise; - async getScreens( - parameters?: Parameters.GetScreens, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getScreens(parameters?: Parameters.GetScreens): Promise { + const config: Request = { url: '/rest/api/2/screens', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -84,7 +80,7 @@ export class Screens { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -101,20 +97,17 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createScreen(parameters: Parameters.CreateScreen, callback?: never): Promise; - async createScreen( - parameters: Parameters.CreateScreen, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createScreen(parameters: Parameters.CreateScreen): Promise { + const config: Request = { url: '/rest/api/2/screens', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,16 +132,15 @@ export class Screens { ): Promise; async addFieldToDefaultScreen( parameters: Parameters.AddFieldToDefaultScreen | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screens/addToDefault/${fieldId}`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,20 +157,17 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateScreen(parameters: Parameters.UpdateScreen, callback?: never): Promise; - async updateScreen( - parameters: Parameters.UpdateScreen, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateScreen(parameters: Parameters.UpdateScreen): Promise { + const config: Request = { url: `/rest/api/2/screens/${parameters.screenId}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -193,18 +182,15 @@ export class Screens { * Only screens used in classic projects can be deleted. */ async deleteScreen(parameters: Parameters.DeleteScreen | string, callback?: never): Promise; - async deleteScreen( - parameters: Parameters.DeleteScreen | string, - callback?: Callback, - ): Promise { + async deleteScreen(parameters: Parameters.DeleteScreen | string): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screens/${screenId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -229,15 +215,14 @@ export class Screens { ): Promise; async getAvailableScreenFields( parameters: Parameters.GetAvailableScreenFields | string, - callback?: Callback, ): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/screens/${screenId}/availableFields`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/serverInfo.ts b/src/version2/serverInfo.ts index daf0e93e10..7e1de1dda6 100644 --- a/src/version2/serverInfo.ts +++ b/src/version2/serverInfo.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ServerInfo { constructor(private client: Client) {} @@ -22,12 +22,12 @@ export class ServerInfo { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None. */ async getServerInfo(callback?: never): Promise; - async getServerInfo(callback?: Callback): Promise { - const config: RequestConfig = { + async getServerInfo(): Promise { + const config: Request = { url: '/rest/api/2/serverInfo', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/serviceRegistry.ts b/src/version2/serviceRegistry.ts index 906b42ebc7..c3c7f9c272 100644 --- a/src/version2/serviceRegistry.ts +++ b/src/version2/serviceRegistry.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ServiceRegistry { constructor(private client: Client) {} @@ -21,18 +21,15 @@ export class ServiceRegistry { * Connect apps can make this request and the servicesIds belong to the tenant you are requesting */ async services(parameters: Parameters.Services, callback?: never): Promise; - async services( - parameters: Parameters.Services, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async services(parameters: Parameters.Services): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/service-registry', method: 'GET', - params: { + query: { serviceIds: parameters.serviceIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/status.ts b/src/version2/status.ts index bd3f5771d1..8fb21ac4dd 100644 --- a/src/version2/status.ts +++ b/src/version2/status.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Status { constructor(private client: Client) {} @@ -31,22 +31,19 @@ export class Status { parameters: Parameters.GetStatusesById | string, callback?: never, ): Promise; - async getStatusesById( - parameters: Parameters.GetStatusesById | string, - callback?: Callback, - ): Promise { + async getStatusesById(parameters: Parameters.GetStatusesById | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/statuses', method: 'GET', - params: { + query: { id, expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,20 +67,17 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async createStatuses(parameters: Parameters.CreateStatuses, callback?: never): Promise; - async createStatuses( - parameters: Parameters.CreateStatuses, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createStatuses(parameters: Parameters.CreateStatuses): Promise { + const config: Request = { url: '/rest/api/2/statuses', method: 'POST', - data: { + body: { statuses: parameters.statuses, scope: parameters.scope, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -104,16 +98,16 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async updateStatuses(parameters: Parameters.UpdateStatuses, callback?: never): Promise; - async updateStatuses(parameters: Parameters.UpdateStatuses, callback?: Callback): Promise { - const config: RequestConfig = { + async updateStatuses(parameters: Parameters.UpdateStatuses): Promise { + const config: Request = { url: '/rest/api/2/statuses', method: 'PUT', - data: { + body: { statuses: parameters.statuses, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -137,21 +131,18 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async deleteStatusesById(parameters: Parameters.DeleteStatusesById | string, callback?: never): Promise; - async deleteStatusesById( - parameters: Parameters.DeleteStatusesById | string, - callback?: Callback, - ): Promise { + async deleteStatusesById(parameters: Parameters.DeleteStatusesById | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/statuses', method: 'DELETE', - params: { + query: { id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -177,11 +168,11 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async search(parameters?: Parameters.Search, callback?: never): Promise; - async search(parameters?: Parameters.Search, callback?: Callback): Promise { - const config: RequestConfig = { + async search(parameters?: Parameters.Search): Promise { + const config: Request = { url: '/rest/api/2/statuses/search', method: 'GET', - params: { + query: { expand: parameters?.expand, projectId: parameters?.projectId, startAt: parameters?.startAt, @@ -191,7 +182,7 @@ export class Status { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of issue types in a project using a given status. */ @@ -206,18 +197,17 @@ export class Status { ): Promise; async getProjectIssueTypeUsagesForStatus( parameters: Parameters.GetProjectIssueTypeUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/statuses/${parameters.statusId}/project/${parameters.projectId}/issueTypeUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given status. */ @@ -232,18 +222,17 @@ export class Status { ): Promise; async getProjectUsagesForStatus( parameters: Parameters.GetProjectUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/statuses/${parameters.statusId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of workflows using a given status. */ @@ -258,17 +247,16 @@ export class Status { ): Promise; async getWorkflowUsagesForStatus( parameters: Parameters.GetWorkflowUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/statuses/${parameters.statusId}/workflowUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/tasks.ts b/src/version2/tasks.ts index 67f8136950..662040034a 100644 --- a/src/version2/tasks.ts +++ b/src/version2/tasks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Tasks { constructor(private client: Client) {} @@ -48,18 +48,15 @@ export class Tasks { * - Creator of the task. */ async getTask(parameters: Parameters.GetTask | string, callback?: never): Promise; - async getTask( - parameters: Parameters.GetTask | string, - callback?: Callback, - ): Promise { + async getTask(parameters: Parameters.GetTask | string): Promise { const taskId = typeof parameters === 'string' ? parameters : parameters.taskId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/task/${taskId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -82,14 +79,14 @@ export class Tasks { * - Creator of the task. */ async cancelTask(parameters: Parameters.CancelTask | string, callback?: never): Promise; - async cancelTask(parameters: Parameters.CancelTask | string, callback?: Callback): Promise { + async cancelTask(parameters: Parameters.CancelTask | string): Promise { const taskId = typeof parameters === 'string' ? parameters : parameters.taskId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/task/${taskId}/cancel`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/teamsInPlan.ts b/src/version2/teamsInPlan.ts index 8b8834d051..c2903813ed 100644 --- a/src/version2/teamsInPlan.ts +++ b/src/version2/teamsInPlan.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class TeamsInPlan { constructor(private client: Client) {} @@ -29,20 +29,17 @@ export class TeamsInPlan { parameters: Parameters.GetTeams, callback?: never, ): Promise; - async getTeams( - parameters: Parameters.GetTeams, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getTeams(parameters: Parameters.GetTeams): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team`, method: 'GET', - params: { + query: { cursor: parameters.cursor, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -59,11 +56,11 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam, callback?: never): Promise; - async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam, callback?: Callback): Promise { - const config: RequestConfig = { + async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/atlassian`, method: 'POST', - data: { + body: { capacity: parameters.capacity, id: parameters.id, issueSourceId: parameters.issueSourceId, @@ -72,7 +69,7 @@ export class TeamsInPlan { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -97,14 +94,13 @@ export class TeamsInPlan { ): Promise; async getAtlassianTeam( parameters: Parameters.GetAtlassianTeam, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,16 +135,13 @@ export class TeamsInPlan { * endpoint to find out the order of array elements._ */ async updateAtlassianTeam(parameters: Parameters.UpdateAtlassianTeam, callback?: never): Promise; - async updateAtlassianTeam( - parameters: Parameters.UpdateAtlassianTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateAtlassianTeam(parameters: Parameters.UpdateAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,16 +158,13 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeAtlassianTeam(parameters: Parameters.RemoveAtlassianTeam, callback?: never): Promise; - async removeAtlassianTeam( - parameters: Parameters.RemoveAtlassianTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeAtlassianTeam(parameters: Parameters.RemoveAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -194,14 +184,11 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPlanOnlyTeam(parameters: Parameters.CreatePlanOnlyTeam, callback?: never): Promise; - async createPlanOnlyTeam( - parameters: Parameters.CreatePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createPlanOnlyTeam(parameters: Parameters.CreatePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/planonly`, method: 'POST', - data: { + body: { capacity: parameters.capacity, issueSourceId: parameters.issueSourceId, memberAccountIds: parameters.memberAccountIds, @@ -211,7 +198,7 @@ export class TeamsInPlan { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -234,16 +221,13 @@ export class TeamsInPlan { parameters: Parameters.GetPlanOnlyTeam, callback?: never, ): Promise; - async getPlanOnlyTeam( - parameters: Parameters.GetPlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPlanOnlyTeam(parameters: Parameters.GetPlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -282,16 +266,13 @@ export class TeamsInPlan { * endpoint to find out the order of array elements._ */ async updatePlanOnlyTeam(parameters: Parameters.UpdatePlanOnlyTeam, callback?: never): Promise; - async updatePlanOnlyTeam( - parameters: Parameters.UpdatePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updatePlanOnlyTeam(parameters: Parameters.UpdatePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,15 +289,12 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePlanOnlyTeam(parameters: Parameters.DeletePlanOnlyTeam, callback?: never): Promise; - async deletePlanOnlyTeam( - parameters: Parameters.DeletePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePlanOnlyTeam(parameters: Parameters.DeletePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/2/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/timeTracking.ts b/src/version2/timeTracking.ts index d4da483eb3..8bf577d8d6 100644 --- a/src/version2/timeTracking.ts +++ b/src/version2/timeTracking.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class TimeTracking { constructor(private client: Client) {} @@ -23,13 +23,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getSelectedTimeTrackingImplementation(callback?: never): Promise; - async getSelectedTimeTrackingImplementation(callback?: Callback): Promise { - const config: RequestConfig = { + async getSelectedTimeTrackingImplementation(): Promise { + const config: Request = { url: '/rest/api/2/configuration/timetracking', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,19 +54,18 @@ export class TimeTracking { ): Promise; async selectTimeTrackingImplementation( parameters?: Parameters.SelectTimeTrackingImplementation, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/configuration/timetracking', method: 'PUT', - data: { + body: { key: parameters?.key, name: parameters?.name, url: parameters?.url, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -91,15 +90,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAvailableTimeTrackingImplementations(callback?: never): Promise; - async getAvailableTimeTrackingImplementations( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAvailableTimeTrackingImplementations(): Promise { + const config: Request = { url: '/rest/api/2/configuration/timetracking/list', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,15 +115,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getSharedTimeTrackingConfiguration(callback?: never): Promise; - async getSharedTimeTrackingConfiguration( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSharedTimeTrackingConfiguration(): Promise { + const config: Request = { url: '/rest/api/2/configuration/timetracking/options', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -151,12 +146,11 @@ export class TimeTracking { ): Promise; async setSharedTimeTrackingConfiguration( parameters: Parameters.SetSharedTimeTrackingConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/configuration/timetracking/options', method: 'PUT', - data: { + body: { workingHoursPerDay: parameters.workingHoursPerDay, workingDaysPerWeek: parameters.workingDaysPerWeek, timeFormat: parameters.timeFormat, @@ -164,6 +158,6 @@ export class TimeTracking { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/uIModificationsApps.ts b/src/version2/uIModificationsApps.ts index 1d69a16fdd..b6dde1a7ef 100644 --- a/src/version2/uIModificationsApps.ts +++ b/src/version2/uIModificationsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UIModificationsApps { constructor(private client: Client) {} @@ -33,19 +33,18 @@ export class UIModificationsApps { ): Promise; async getUiModifications( parameters?: Parameters.GetUiModifications, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/uiModifications', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -88,12 +87,11 @@ export class UIModificationsApps { ): Promise; async createUiModification( parameters: Parameters.CreateUiModification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/uiModifications', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, data: parameters.data, @@ -101,7 +99,7 @@ export class UIModificationsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,14 +137,11 @@ export class UIModificationsApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updateUiModification(parameters: Parameters.UpdateUiModification, callback?: never): Promise; - async updateUiModification( - parameters: Parameters.UpdateUiModification, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateUiModification(parameters: Parameters.UpdateUiModification): Promise { + const config: Request = { url: `/rest/api/2/uiModifications/${parameters.uiModificationId}`, method: 'PUT', - data: { + body: { contexts: parameters.contexts, data: parameters.data, description: parameters.description, @@ -154,7 +149,7 @@ export class UIModificationsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -183,17 +178,14 @@ export class UIModificationsApps { parameters: Parameters.DeleteUiModification | string, callback?: never, ): Promise; - async deleteUiModification( - parameters: Parameters.DeleteUiModification | string, - callback?: Callback, - ): Promise { + async deleteUiModification(parameters: Parameters.DeleteUiModification | string): Promise { const uiModificationId = typeof parameters === 'string' ? parameters : parameters.uiModificationId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/uiModifications/${uiModificationId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/userNavProperties.ts b/src/version2/userNavProperties.ts index 6473a66f43..3be2c03171 100644 --- a/src/version2/userNavProperties.ts +++ b/src/version2/userNavProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserNavProperties { constructor(private client: Client) {} @@ -35,19 +35,16 @@ export class UserNavProperties { parameters: Parameters.GetUserNavProperty, callback?: never, ): Promise; - async getUserNavProperty( - parameters: Parameters.GetUserNavProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserNavProperty(parameters: Parameters.GetUserNavProperty): Promise { + const config: Request = { url: `/rest/api/2/user/nav4-opt-property/${parameters.propertyKey}`, method: 'GET', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -73,18 +70,15 @@ export class UserNavProperties { * - Access to Jira, to set a property on the calling user's record. */ async setUserNavProperty(parameters: Parameters.SetUserNavProperty, callback?: never): Promise; - async setUserNavProperty( - parameters: Parameters.SetUserNavProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setUserNavProperty(parameters: Parameters.SetUserNavProperty): Promise { + const config: Request = { url: `/rest/api/2/user/nav4-opt-property/${parameters.propertyKey}`, method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/userProperties.ts b/src/version2/userProperties.ts index 19e53d6a49..2715a55aea 100644 --- a/src/version2/userProperties.ts +++ b/src/version2/userProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserProperties { constructor(private client: Client) {} @@ -39,21 +39,18 @@ export class UserProperties { parameters?: Parameters.GetUserPropertyKeys, callback?: never, ): Promise; - async getUserPropertyKeys( - parameters?: Parameters.GetUserPropertyKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserPropertyKeys(parameters?: Parameters.GetUserPropertyKeys): Promise { + const config: Request = { url: '/rest/api/2/user/properties', method: 'GET', - params: { + query: { accountId: parameters?.accountId, userKey: parameters?.userKey, username: parameters?.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -88,21 +85,18 @@ export class UserProperties { parameters: Parameters.GetUserProperty, callback?: never, ): Promise; - async getUserProperty( - parameters: Parameters.GetUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserProperty(parameters: Parameters.GetUserProperty): Promise { + const config: Request = { url: `/rest/api/2/user/properties/${parameters.propertyKey}`, method: 'GET', - params: { + query: { accountId: parameters.accountId, userKey: parameters.userKey, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -129,20 +123,17 @@ export class UserProperties { * - Access to Jira, to set a property on the calling user's record. */ async setUserProperty(parameters: Parameters.SetUserProperty, callback?: never): Promise; - async setUserProperty( - parameters: Parameters.SetUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setUserProperty(parameters: Parameters.SetUserProperty): Promise { + const config: Request = { url: `/rest/api/2/user/properties/${parameters.propertyKey}`, method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -171,20 +162,17 @@ export class UserProperties { * - Access to Jira, to delete a property from the calling user's record. */ async deleteUserProperty(parameters: Parameters.DeleteUserProperty, callback?: never): Promise; - async deleteUserProperty( - parameters: Parameters.DeleteUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteUserProperty(parameters: Parameters.DeleteUserProperty): Promise { + const config: Request = { url: `/rest/api/2/user/properties/${parameters.propertyKey}`, method: 'DELETE', - params: { + query: { accountId: parameters.accountId, userKey: parameters.userKey, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/userSearch.ts b/src/version2/userSearch.ts index a20c8e333e..83ab7dedc2 100644 --- a/src/version2/userSearch.ts +++ b/src/version2/userSearch.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserSearch { constructor(private client: Client) {} @@ -50,14 +50,11 @@ export class UserSearch { parameters: Parameters.FindBulkAssignableUsers, callback?: never, ): Promise; - async findBulkAssignableUsers( - parameters: Parameters.FindBulkAssignableUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findBulkAssignableUsers(parameters: Parameters.FindBulkAssignableUsers): Promise { + const config: Request = { url: '/rest/api/2/user/assignable/multiProjectSearch', method: 'GET', - params: { + query: { query: parameters.query, username: parameters.username, accountId: parameters.accountId, @@ -67,7 +64,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -130,14 +127,11 @@ export class UserSearch { parameters?: Parameters.FindAssignableUsers, callback?: never, ): Promise; - async findAssignableUsers( - parameters?: Parameters.FindAssignableUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findAssignableUsers(parameters?: Parameters.FindAssignableUsers): Promise { + const config: Request = { url: '/rest/api/2/user/assignable/search', method: 'GET', - params: { + query: { query: parameters?.query, sessionId: parameters?.sessionId, username: parameters?.username, @@ -152,7 +146,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,12 +211,11 @@ export class UserSearch { ): Promise; async findUsersWithAllPermissions( parameters: Parameters.FindUsersWithAllPermissions, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/permission/search', method: 'GET', - params: { + query: { query: parameters.query, username: parameters.username, accountId: parameters.accountId, @@ -234,7 +227,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -285,14 +278,11 @@ export class UserSearch { parameters: Parameters.FindUsersForPicker, callback?: never, ): Promise; - async findUsersForPicker( - parameters: Parameters.FindUsersForPicker, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUsersForPicker(parameters: Parameters.FindUsersForPicker): Promise { + const config: Request = { url: '/rest/api/2/user/picker', method: 'GET', - params: { + query: { query: parameters.query, maxResults: parameters.maxResults, showAvatar: parameters.showAvatar, @@ -302,7 +292,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -346,11 +336,11 @@ export class UserSearch { * without the required permission return empty search results. */ async findUsers(parameters?: Parameters.FindUsers, callback?: never): Promise; - async findUsers(parameters?: Parameters.FindUsers, callback?: Callback): Promise { - const config: RequestConfig = { + async findUsers(parameters?: Parameters.FindUsers): Promise { + const config: Request = { url: '/rest/api/2/user/search', method: 'GET', - params: { + query: { query: parameters?.query, username: parameters?.username, accountId: parameters?.accountId, @@ -360,7 +350,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -430,21 +420,18 @@ export class UserSearch { * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"` */ async findUsersByQuery(parameters: Parameters.FindUsersByQuery, callback?: never): Promise; - async findUsersByQuery( - parameters: Parameters.FindUsersByQuery, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUsersByQuery(parameters: Parameters.FindUsersByQuery): Promise { + const config: Request = { url: '/rest/api/2/user/search/query', method: 'GET', - params: { + query: { query: parameters.query, startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -517,21 +504,18 @@ export class UserSearch { parameters: Parameters.FindUserKeysByQuery, callback?: never, ): Promise; - async findUserKeysByQuery( - parameters: Parameters.FindUserKeysByQuery, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUserKeysByQuery(parameters: Parameters.FindUserKeysByQuery): Promise { + const config: Request = { url: '/rest/api/2/user/search/query/key', method: 'GET', - params: { + query: { query: parameters.query, startAt: parameters.startAt, maxResult: parameters.maxResult || parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -598,12 +582,11 @@ export class UserSearch { ): Promise; async findUsersWithBrowsePermission( parameters?: Parameters.FindUsersWithBrowsePermission, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/viewissue/search', method: 'GET', - params: { + query: { query: parameters?.query, username: parameters?.username, accountId: parameters?.accountId, @@ -614,6 +597,6 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/users.ts b/src/version2/users.ts index 43f9e37fcc..3c66d0e797 100644 --- a/src/version2/users.ts +++ b/src/version2/users.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Users { constructor(private client: Client) {} @@ -30,17 +30,17 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getUser(parameters: Parameters.GetUser, callback?: never): Promise; - async getUser(parameters: Parameters.GetUser, callback?: Callback): Promise { - const config: RequestConfig = { + async getUser(parameters: Parameters.GetUser): Promise { + const config: Request = { url: '/rest/api/2/user', method: 'GET', - params: { + query: { accountId: parameters.accountId, expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -65,11 +65,11 @@ export class Users { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createUser(parameters: Parameters.CreateUser, callback?: never): Promise; - async createUser(parameters: Parameters.CreateUser, callback?: Callback): Promise { - const config: RequestConfig = { + async createUser(parameters: Parameters.CreateUser): Promise { + const config: Request = { url: '/rest/api/2/user', method: 'POST', - data: { + body: { emailAddress: parameters.emailAddress, key: parameters.key, name: parameters.name, @@ -79,7 +79,7 @@ export class Users { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -98,18 +98,18 @@ export class Users { * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async removeUser(parameters: Parameters.RemoveUser, callback?: never): Promise; - async removeUser(parameters: Parameters.RemoveUser, callback?: Callback): Promise { - const config: RequestConfig = { + async removeUser(parameters: Parameters.RemoveUser): Promise { + const config: Request = { url: '/rest/api/2/user', method: 'DELETE', - params: { + query: { accountId: parameters.accountId, username: parameters.username, key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -128,21 +128,18 @@ export class Users { * Permission to access Jira. */ async bulkGetUsers(parameters: Parameters.BulkGetUsers, callback?: never): Promise; - async bulkGetUsers( - parameters: Parameters.BulkGetUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkGetUsers(parameters: Parameters.BulkGetUsers): Promise { + const config: Request = { url: '/rest/api/2/user/bulk', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, accountId: paramSerializer('accountId', parameters.accountId), }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -169,12 +166,11 @@ export class Users { ): Promise; async bulkGetUsersMigration( parameters: Parameters.BulkGetUsersMigration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/bulk/migration', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, username: paramSerializer('username', parameters.username), @@ -182,7 +178,7 @@ export class Users { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -215,18 +211,17 @@ export class Users { ): Promise; async getUserDefaultColumns( parameters?: Parameters.GetUserDefaultColumns, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/columns', method: 'GET', - params: { + query: { accountId: parameters?.accountId, username: parameters?.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -251,17 +246,17 @@ export class Users { * - Permission to access Jira, to set the calling user's columns. */ async setUserColumns(parameters: Parameters.SetUserColumns, callback?: never): Promise; - async setUserColumns(parameters: Parameters.SetUserColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async setUserColumns(parameters: Parameters.SetUserColumns): Promise { + const config: Request = { url: '/rest/api/2/user/columns', method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, - data: parameters.columns, + body: parameters.columns, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -284,17 +279,17 @@ export class Users { * - Permission to access Jira, to set the calling user's columns. */ async resetUserColumns(parameters: Parameters.ResetUserColumns, callback?: never): Promise; - async resetUserColumns(parameters: Parameters.ResetUserColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async resetUserColumns(parameters: Parameters.ResetUserColumns): Promise { + const config: Request = { url: '/rest/api/2/user/columns', method: 'DELETE', - params: { + query: { accountId: parameters.accountId, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -319,19 +314,18 @@ export class Users { ): Promise; async getUserEmail( parameters: Parameters.GetUserEmail | string, - callback?: Callback, ): Promise { const accountId = typeof parameters === 'string' ? parameters : parameters.accountId; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/email', method: 'GET', - params: { + query: { accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -356,19 +350,18 @@ export class Users { ): Promise; async getUserEmailBulk( parameters: Parameters.GetUserEmailBulk | string, - callback?: Callback, ): Promise { const accountId = typeof parameters === 'string' ? parameters : parameters.accountId; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/user/email/bulk', method: 'GET', - params: { + query: { accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -388,21 +381,18 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getUserGroups(parameters: Parameters.GetUserGroups, callback?: never): Promise; - async getUserGroups( - parameters: Parameters.GetUserGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserGroups(parameters: Parameters.GetUserGroups): Promise { + const config: Request = { url: '/rest/api/2/user/groups', method: 'GET', - params: { + query: { accountId: parameters.accountId, username: parameters.username, key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -432,20 +422,17 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllUsersDefault(parameters?: Parameters.GetAllUsersDefault, callback?: never): Promise; - async getAllUsersDefault( - parameters?: Parameters.GetAllUsersDefault, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllUsersDefault(parameters?: Parameters.GetAllUsersDefault): Promise { + const config: Request = { url: '/rest/api/2/users', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -475,16 +462,16 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllUsers(parameters?: Parameters.GetAllUsers, callback?: never): Promise; - async getAllUsers(parameters?: Parameters.GetAllUsers, callback?: Callback): Promise { - const config: RequestConfig = { + async getAllUsers(parameters?: Parameters.GetAllUsers): Promise { + const config: Request = { url: '/rest/api/2/users/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/webhooks.ts b/src/version2/webhooks.ts index 55e5a034ca..5164dc8dcc 100644 --- a/src/version2/webhooks.ts +++ b/src/version2/webhooks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Webhooks { constructor(private client: Client) {} @@ -33,18 +33,17 @@ export class Webhooks { ): Promise; async getDynamicWebhooksForApp( parameters?: Parameters.GetDynamicWebhooksForApp, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/webhook', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,18 +76,17 @@ export class Webhooks { ): Promise; async registerDynamicWebhooks( parameters: Parameters.RegisterDynamicWebhooks, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/webhook', method: 'POST', - data: { + body: { webhooks: parameters.webhooks, url: parameters.url, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,19 +107,16 @@ export class Webhooks { * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. */ async deleteWebhookById(parameters: Parameters.DeleteWebhookById, callback?: never): Promise; - async deleteWebhookById( - parameters: Parameters.DeleteWebhookById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteWebhookById(parameters: Parameters.DeleteWebhookById): Promise { + const config: Request = { url: '/rest/api/2/webhook', method: 'DELETE', - data: { + body: { webhookIds: parameters.webhookIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -160,20 +155,17 @@ export class Webhooks { parameters?: Parameters.GetFailedWebhooks, callback?: never, ): Promise; - async getFailedWebhooks( - parameters?: Parameters.GetFailedWebhooks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFailedWebhooks(parameters?: Parameters.GetFailedWebhooks): Promise { + const config: Request = { url: '/rest/api/2/webhook/failed', method: 'GET', - params: { + query: { maxResults: parameters?.maxResults, after: parameters?.after, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -204,18 +196,15 @@ export class Webhooks { parameters: Parameters.RefreshWebhooks, callback?: never, ): Promise; - async refreshWebhooks( - parameters: Parameters.RefreshWebhooks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async refreshWebhooks(parameters: Parameters.RefreshWebhooks): Promise { + const config: Request = { url: '/rest/api/2/webhook/refresh', method: 'PUT', - data: { + body: { webhookIds: parameters.webhookIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowSchemeDrafts.ts b/src/version2/workflowSchemeDrafts.ts index 88a7667010..de803200a0 100644 --- a/src/version2/workflowSchemeDrafts.ts +++ b/src/version2/workflowSchemeDrafts.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemeDrafts { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class WorkflowSchemeDrafts { ): Promise; async createWorkflowSchemeDraftFromParent( parameters: Parameters.CreateWorkflowSchemeDraftFromParent | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/createdraft`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,16 +78,15 @@ export class WorkflowSchemeDrafts { ): Promise; async getWorkflowSchemeDraft( parameters: Parameters.GetWorkflowSchemeDraft | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/draft`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -115,12 +113,11 @@ export class WorkflowSchemeDrafts { ): Promise; async updateWorkflowSchemeDraft( parameters: Parameters.UpdateWorkflowSchemeDraft, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, defaultWorkflow: parameters.defaultWorkflow, @@ -129,7 +126,7 @@ export class WorkflowSchemeDrafts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,16 +151,15 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteWorkflowSchemeDraft( parameters: Parameters.DeleteWorkflowSchemeDraft | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/draft`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -192,16 +188,15 @@ export class WorkflowSchemeDrafts { ): Promise; async getDraftDefaultWorkflow( parameters: Parameters.GetDraftDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/draft/default`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -226,18 +221,17 @@ export class WorkflowSchemeDrafts { ): Promise; async updateDraftDefaultWorkflow( parameters: Parameters.UpdateDraftDefaultWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/default`, method: 'PUT', - data: { + body: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, workflow: parameters.workflow, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -264,16 +258,15 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteDraftDefaultWorkflow( parameters: Parameters.DeleteDraftDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/draft/default`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -298,14 +291,13 @@ export class WorkflowSchemeDrafts { ): Promise; async getWorkflowSchemeDraftIssueType( parameters: Parameters.GetWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,15 +322,14 @@ export class WorkflowSchemeDrafts { ): Promise; async setWorkflowSchemeDraftIssueType( parameters: Parameters.SetWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'PUT', - data: parameters.details, + body: parameters.details, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -363,14 +354,13 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteWorkflowSchemeDraftIssueType( parameters: Parameters.DeleteWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -411,22 +401,21 @@ export class WorkflowSchemeDrafts { ): Promise; async publishDraftWorkflowScheme( parameters: Parameters.PublishDraftWorkflowScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/draft/publish`, method: 'POST', - params: { + query: { validateOnly: typeof parameters !== 'string' && parameters.validateOnly, }, - data: { + body: { statusMappings: typeof parameters !== 'string' && parameters.statusMappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -451,17 +440,16 @@ export class WorkflowSchemeDrafts { ): Promise; async getDraftWorkflow( parameters: Parameters.GetDraftWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/workflow`, method: 'GET', - params: { + query: { workflowName: parameters.workflowName, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -488,15 +476,14 @@ export class WorkflowSchemeDrafts { ): Promise; async updateDraftWorkflowMapping( parameters: Parameters.UpdateDraftWorkflowMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/workflow`, method: 'PUT', - params: { + query: { workflowName: parameters.workflowName, }, - data: { + body: { defaultMapping: parameters.defaultMapping, issueTypes: parameters.issueTypes, updateDraftIfNeeded: parameters.updateDraftIfNeeded, @@ -504,7 +491,7 @@ export class WorkflowSchemeDrafts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -527,18 +514,15 @@ export class WorkflowSchemeDrafts { parameters: Parameters.DeleteDraftWorkflowMapping, callback?: never, ): Promise; - async deleteDraftWorkflowMapping( - parameters: Parameters.DeleteDraftWorkflowMapping, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteDraftWorkflowMapping(parameters: Parameters.DeleteDraftWorkflowMapping): Promise { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/draft/workflow`, method: 'DELETE', - params: { + query: { workflowName: parameters.workflowName, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowSchemeProjectAssociations.ts b/src/version2/workflowSchemeProjectAssociations.ts index b07d23f0d3..d6de553382 100644 --- a/src/version2/workflowSchemeProjectAssociations.ts +++ b/src/version2/workflowSchemeProjectAssociations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemeProjectAssociations { constructor(private client: Client) {} @@ -39,17 +39,16 @@ export class WorkflowSchemeProjectAssociations { ): Promise; async getWorkflowSchemeProjectAssociations( parameters: Parameters.GetWorkflowSchemeProjectAssociations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflowscheme/project', method: 'GET', - params: { + query: { projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -73,19 +72,16 @@ export class WorkflowSchemeProjectAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async assignSchemeToProject(parameters: Parameters.AssignSchemeToProject, callback?: never): Promise; - async assignSchemeToProject( - parameters: Parameters.AssignSchemeToProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async assignSchemeToProject(parameters: Parameters.AssignSchemeToProject): Promise { + const config: Request = { url: '/rest/api/2/workflowscheme/project', method: 'PUT', - data: { + body: { workflowSchemeId: parameters.workflowSchemeId, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowSchemes.ts b/src/version2/workflowSchemes.ts index 061abf3bdb..74c2501b35 100644 --- a/src/version2/workflowSchemes.ts +++ b/src/version2/workflowSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemes { constructor(private client: Client) {} @@ -31,18 +31,17 @@ export class WorkflowSchemes { ): Promise; async getAllWorkflowSchemes( parameters?: Parameters.GetAllWorkflowSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflowscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,12 +66,11 @@ export class WorkflowSchemes { ): Promise; async createWorkflowScheme( parameters: Parameters.CreateWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflowscheme', method: 'POST', - data: { + body: { defaultWorkflow: parameters.defaultWorkflow, description: parameters.description, draft: parameters.draft, @@ -89,7 +87,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,21 +116,20 @@ export class WorkflowSchemes { ): Promise; async readWorkflowSchemes( parameters: Parameters.ReadWorkflowSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflowscheme/read', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { projectIds: parameters.projectIds, workflowSchemeIds: parameters.workflowSchemeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -159,11 +156,11 @@ export class WorkflowSchemes { * - _Administer projects_ project permission to update project-scoped workflow schemes. */ async updateSchemes(parameters: Parameters.UpdateSchemes, callback?: never): Promise; - async updateSchemes(parameters: Parameters.UpdateSchemes, callback?: Callback): Promise { - const config: RequestConfig = { + async updateSchemes(parameters: Parameters.UpdateSchemes): Promise { + const config: Request = { url: '/rest/api/2/workflowscheme/update', method: 'POST', - data: { + body: { defaultWorkflowId: parameters.defaultWorkflowId, description: parameters.description, id: parameters.id, @@ -175,7 +172,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -208,19 +205,18 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowSchemeMappings( parameters: Parameters.UpdateWorkflowSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflowscheme/update/mappings', method: 'POST', - data: { + body: { defaultWorkflowId: parameters.defaultWorkflowId, id: parameters.id, workflowsForIssueTypes: parameters.workflowsForIssueTypes, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -245,19 +241,18 @@ export class WorkflowSchemes { ): Promise; async getWorkflowScheme( parameters: Parameters.GetWorkflowScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}`, method: 'GET', - params: { + query: { returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -286,12 +281,11 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowScheme( parameters: Parameters.UpdateWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, defaultWorkflow: parameters.defaultWorkflow, @@ -300,7 +294,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -325,18 +319,15 @@ export class WorkflowSchemes { parameters: Parameters.DeleteWorkflowScheme | string, callback?: never, ): Promise; - async deleteWorkflowScheme( - parameters: Parameters.DeleteWorkflowScheme | string, - callback?: Callback, - ): Promise { + async deleteWorkflowScheme(parameters: Parameters.DeleteWorkflowScheme | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -365,19 +356,18 @@ export class WorkflowSchemes { ): Promise; async getDefaultWorkflow( parameters: Parameters.GetDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/default`, method: 'GET', - params: { + query: { returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -410,18 +400,17 @@ export class WorkflowSchemes { ): Promise; async updateDefaultWorkflow( parameters: Parameters.UpdateDefaultWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/default`, method: 'PUT', - data: { + body: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, workflow: parameters.workflow, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -456,19 +445,18 @@ export class WorkflowSchemes { ): Promise; async deleteDefaultWorkflow( parameters: Parameters.DeleteDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/default`, method: 'DELETE', - params: { + query: { updateDraftIfNeeded: typeof parameters !== 'string' && parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -493,17 +481,16 @@ export class WorkflowSchemes { ): Promise; async getWorkflowSchemeIssueType( parameters: Parameters.GetWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'GET', - params: { + query: { returnDraftIfExists: parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -536,15 +523,14 @@ export class WorkflowSchemes { ): Promise; async setWorkflowSchemeIssueType( parameters: Parameters.SetWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'PUT', - data: parameters.details, + body: parameters.details, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -577,17 +563,16 @@ export class WorkflowSchemes { ): Promise; async deleteWorkflowSchemeIssueType( parameters: Parameters.DeleteWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'DELETE', - params: { + query: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -612,20 +597,19 @@ export class WorkflowSchemes { ): Promise; async getWorkflow( parameters: Parameters.GetWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/workflow`, method: 'GET', - params: { + query: { workflowName: typeof parameters !== 'string' && parameters.workflowName, returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -660,15 +644,14 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowMapping( parameters: Parameters.UpdateWorkflowMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.id}/workflow`, method: 'PUT', - params: { + query: { workflowName: parameters.workflowName, }, - data: { + body: { defaultMapping: parameters.defaultMapping, issueTypes: parameters.issueTypes, updateDraftIfNeeded: parameters.updateDraftIfNeeded, @@ -676,7 +659,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -707,22 +690,19 @@ export class WorkflowSchemes { parameters: Parameters.DeleteWorkflowMapping | string, callback?: never, ): Promise; - async deleteWorkflowMapping( - parameters: Parameters.DeleteWorkflowMapping | string, - callback?: Callback, - ): Promise { + async deleteWorkflowMapping(parameters: Parameters.DeleteWorkflowMapping | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${id}/workflow`, method: 'DELETE', - params: { + query: { workflowName: typeof parameters !== 'string' && parameters.workflowName, updateDraftIfNeeded: typeof parameters !== 'string' && parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given workflow scheme. */ @@ -737,17 +717,16 @@ export class WorkflowSchemes { ): Promise; async getProjectUsagesForWorkflowScheme( parameters: Parameters.GetProjectUsagesForWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflowscheme/${parameters.workflowSchemeId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowStatusCategories.ts b/src/version2/workflowStatusCategories.ts index 2d2ec5b65d..7b80f85c51 100644 --- a/src/version2/workflowStatusCategories.ts +++ b/src/version2/workflowStatusCategories.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowStatusCategories { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class WorkflowStatusCategories { * Permission to access Jira. */ async getStatusCategories(callback?: never): Promise; - async getStatusCategories(callback?: Callback): Promise { - const config: RequestConfig = { + async getStatusCategories(): Promise { + const config: Request = { url: '/rest/api/2/statuscategory', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,15 +54,14 @@ export class WorkflowStatusCategories { ): Promise; async getStatusCategory( parameters: Parameters.GetStatusCategory | string, - callback?: Callback, ): Promise { const idOrKey = typeof parameters === 'string' ? parameters : parameters.idOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/statuscategory/${idOrKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowStatuses.ts b/src/version2/workflowStatuses.ts index 55bbc531dd..1d93b1f752 100644 --- a/src/version2/workflowStatuses.ts +++ b/src/version2/workflowStatuses.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowStatuses { constructor(private client: Client) {} @@ -17,25 +17,13 @@ export class WorkflowStatuses { * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the * project. */ - async getStatuses(callback: Callback): Promise; - /** - * Returns a list of all statuses associated with active workflows. - * - * This operation can be accessed anonymously. - * - * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: _Browse - * projects_ [project - * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the - * project. - */ - async getStatuses(callback?: never): Promise; - async getStatuses(callback?: Callback): Promise { - const config: RequestConfig = { + async getStatuses(): Promise { + const config: Request = { url: '/rest/api/2/status', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -69,17 +57,14 @@ export class WorkflowStatuses { * project. */ async getStatus(parameters: Parameters.GetStatus | string, callback?: never): Promise; - async getStatus( - parameters: Parameters.GetStatus | string, - callback?: Callback, - ): Promise { + async getStatus(parameters: Parameters.GetStatus | string): Promise { const idOrName = typeof parameters === 'string' ? parameters : parameters.idOrName; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/status/${idOrName}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowTransitionProperties.ts b/src/version2/workflowTransitionProperties.ts index 12fc0b04ef..5b94568ef2 100644 --- a/src/version2/workflowTransitionProperties.ts +++ b/src/version2/workflowTransitionProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowTransitionProperties { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class WorkflowTransitionProperties { ): Promise; async getWorkflowTransitionProperties( parameters: Parameters.GetWorkflowTransitionProperties, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/transitions/${parameters.transitionId}/properties`, method: 'GET', - params: { + query: { includeReservedKeys: parameters.includeReservedKeys, key: parameters.key, workflowName: parameters.workflowName, @@ -48,7 +47,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,17 +78,16 @@ export class WorkflowTransitionProperties { ): Promise; async createWorkflowTransitionProperty( parameters: Parameters.CreateWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/transitions/${parameters.transitionId}/properties`, method: 'POST', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, - data: { + body: { ...parameters, transitionId: undefined, key: undefined, @@ -98,7 +96,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -131,17 +129,16 @@ export class WorkflowTransitionProperties { ): Promise; async updateWorkflowTransitionProperty( parameters: Parameters.UpdateWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/transitions/${parameters.transitionId}/properties`, method: 'PUT', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, - data: { + body: { ...parameters, transitionId: undefined, key: undefined, @@ -150,7 +147,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -181,18 +178,17 @@ export class WorkflowTransitionProperties { ): Promise; async deleteWorkflowTransitionProperty( parameters: Parameters.DeleteWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/transitions/${parameters.transitionId}/properties`, method: 'DELETE', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflowTransitionRules.ts b/src/version2/workflowTransitionRules.ts index aa0aa03b75..2e4237be3c 100644 --- a/src/version2/workflowTransitionRules.ts +++ b/src/version2/workflowTransitionRules.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowTransitionRules { constructor(private client: Client) {} @@ -57,12 +57,11 @@ export class WorkflowTransitionRules { ): Promise; async getWorkflowTransitionRuleConfigurations( parameters: Parameters.GetWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflow/rule/config', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, types: parameters.types, @@ -74,7 +73,7 @@ export class WorkflowTransitionRules { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -133,17 +132,16 @@ export class WorkflowTransitionRules { ): Promise; async updateWorkflowTransitionRuleConfigurations( parameters: Parameters.UpdateWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflow/rule/config', method: 'PUT', - data: { + body: { workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -180,16 +178,15 @@ export class WorkflowTransitionRules { ): Promise; async deleteWorkflowTransitionRuleConfigurations( parameters?: Parameters.DeleteWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflow/rule/config/delete', method: 'PUT', - data: { + body: { workflows: parameters?.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version2/workflows.ts b/src/version2/workflows.ts index 36a1b67fb4..637cbed62a 100644 --- a/src/version2/workflows.ts +++ b/src/version2/workflows.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Workflows { constructor(private client: Client) {} @@ -33,14 +33,11 @@ export class Workflows { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createWorkflow(parameters: Parameters.CreateWorkflow, callback?: never): Promise; - async createWorkflow( - parameters: Parameters.CreateWorkflow, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createWorkflow(parameters: Parameters.CreateWorkflow): Promise { + const config: Request = { url: '/rest/api/2/workflow', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, statuses: parameters.statuses, @@ -48,7 +45,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,12 +78,11 @@ export class Workflows { ): Promise; async getWorkflowsPaginated( parameters?: Parameters.GetWorkflowsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflow/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, workflowName: paramSerializer('workflowName', parameters?.workflowName), @@ -97,7 +93,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -134,18 +130,15 @@ export class Workflows { parameters: Parameters.DeleteInactiveWorkflow | string, callback?: never, ): Promise; - async deleteInactiveWorkflow( - parameters: Parameters.DeleteInactiveWorkflow | string, - callback?: Callback, - ): Promise { + async deleteInactiveWorkflow(parameters: Parameters.DeleteInactiveWorkflow | string): Promise { const entityId = typeof parameters === 'string' ? parameters : parameters.entityId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/${entityId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of issue types using a given workflow within a project. */ @@ -160,18 +153,17 @@ export class Workflows { ): Promise; async getWorkflowProjectIssueTypeUsages( parameters: Parameters.GetWorkflowProjectIssueTypeUsages, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/${parameters.workflowId}/project/${parameters.projectId}/issueTypeUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given workflow. */ @@ -186,18 +178,17 @@ export class Workflows { ): Promise; async getProjectUsagesForWorkflow( parameters: Parameters.GetProjectUsagesForWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/${parameters.workflowId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of workflow schemes using a given workflow. */ @@ -212,18 +203,17 @@ export class Workflows { ): Promise; async getWorkflowSchemeUsagesForWorkflow( parameters: Parameters.GetWorkflowSchemeUsagesForWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/2/workflow/${parameters.workflowId}/workflowSchemes`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -251,25 +241,22 @@ export class Workflows { * project-scoped workflows */ async readWorkflows(parameters: Parameters.ReadWorkflows, callback?: never): Promise; - async readWorkflows( - parameters: Parameters.ReadWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async readWorkflows(parameters: Parameters.ReadWorkflows): Promise { + const config: Request = { url: '/rest/api/2/workflows', method: 'POST', - params: { + query: { useTransitionLinksFormat: parameters.useTransitionLinksFormat, useApprovalConfiguration: parameters.useApprovalConfiguration, }, - data: { + body: { projectAndIssueTypes: parameters.projectAndIssueTypes, workflowIds: parameters.workflowIds, workflowNames: parameters.workflowNames, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,19 +293,18 @@ export class Workflows { ): Promise; async workflowCapabilities( parameters: Parameters.WorkflowCapabilities, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflows/capabilities', method: 'GET', - params: { + query: { workflowId: parameters.workflowId, projectId: parameters.projectId, issueTypeId: parameters.issueTypeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -345,21 +331,18 @@ export class Workflows { parameters: Parameters.CreateWorkflows, callback?: never, ): Promise; - async createWorkflows( - parameters: Parameters.CreateWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createWorkflows(parameters: Parameters.CreateWorkflows): Promise { + const config: Request = { url: '/rest/api/2/workflows/create', method: 'POST', - data: { + body: { scope: parameters.scope, statuses: parameters.statuses, workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -388,18 +371,17 @@ export class Workflows { ): Promise; async validateCreateWorkflows( parameters: Parameters.ValidateCreateWorkflows, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflows/create/validation', method: 'POST', - data: { + body: { payload: parameters.payload, validationOptions: parameters.validationOptions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -432,14 +414,11 @@ export class Workflows { parameters?: Parameters.SearchWorkflows, callback?: never, ): Promise; - async searchWorkflows( - parameters?: Parameters.SearchWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchWorkflows(parameters?: Parameters.SearchWorkflows): Promise { + const config: Request = { url: '/rest/api/2/workflows/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, expand: parameters?.expand, @@ -450,7 +429,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -477,23 +456,20 @@ export class Workflows { parameters: Parameters.UpdateWorkflows, callback?: never, ): Promise; - async updateWorkflows( - parameters: Parameters.UpdateWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateWorkflows(parameters: Parameters.UpdateWorkflows): Promise { + const config: Request = { url: '/rest/api/2/workflows/update', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { statuses: parameters.statuses, workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -522,17 +498,16 @@ export class Workflows { ): Promise; async validateUpdateWorkflows( parameters: Parameters.ValidateUpdateWorkflows, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/2/workflows/update/validation', method: 'POST', - data: { + body: { payload: parameters.payload, validationOptions: parameters.validationOptions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/announcementBanner.ts b/src/version3/announcementBanner.ts index 3562813a62..2d95dab5cb 100644 --- a/src/version3/announcementBanner.ts +++ b/src/version3/announcementBanner.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AnnouncementBanner { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class AnnouncementBanner { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getBanner(callback?: never): Promise; - async getBanner(callback?: Callback): Promise { - const config: RequestConfig = { + async getBanner(): Promise { + const config: Request = { url: '/rest/api/3/announcementBanner', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -44,11 +44,11 @@ export class AnnouncementBanner { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setBanner(parameters?: Parameters.SetBanner, callback?: never): Promise; - async setBanner(parameters?: Parameters.SetBanner, callback?: Callback): Promise { - const config: RequestConfig = { + async setBanner(parameters?: Parameters.SetBanner): Promise { + const config: Request = { url: '/rest/api/3/announcementBanner', method: 'PUT', - data: { + body: { isDismissible: parameters?.isDismissible, isEnabled: parameters?.isEnabled, message: parameters?.message, @@ -56,6 +56,6 @@ export class AnnouncementBanner { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/appDataPolicies.ts b/src/version3/appDataPolicies.ts index 4ed5227d8d..ee5a4e4b57 100644 --- a/src/version3/appDataPolicies.ts +++ b/src/version3/appDataPolicies.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppDataPolicies { constructor(private client: Client) {} @@ -11,13 +11,13 @@ export class AppDataPolicies { async getPolicy(callback: Callback): Promise; /** Returns data policy for the workspace. */ async getPolicy(callback?: never): Promise; - async getPolicy(callback?: Callback): Promise { - const config: RequestConfig = { + async getPolicy(): Promise { + const config: Request = { url: '/rest/api/3/data-policy', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns data policies for the projects specified in the request. */ @@ -27,18 +27,15 @@ export class AppDataPolicies { ): Promise; /** Returns data policies for the projects specified in the request. */ async getPolicies(parameters: Parameters.GetPolicies, callback?: never): Promise; - async getPolicies( - parameters: Parameters.GetPolicies, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPolicies(parameters: Parameters.GetPolicies): Promise { + const config: Request = { url: '/rest/api/3/data-policy/project', method: 'GET', - params: { + query: { ids: typeof parameters.ids === 'string' ? parameters.ids : parameters.ids.join(','), }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/appMigration.ts b/src/version3/appMigration.ts index 6d6f8379c1..1efd3a84d3 100644 --- a/src/version3/appMigration.ts +++ b/src/version3/appMigration.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppMigration { constructor(private client: Client) {} @@ -23,23 +23,20 @@ export class AppMigration { * Connect apps can make this request */ async updateIssueFields(parameters: Parameters.UpdateIssueFields, callback?: never): Promise; - async updateIssueFields( - parameters: Parameters.UpdateIssueFields, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueFields(parameters: Parameters.UpdateIssueFields): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/migration/field', method: 'PUT', headers: { 'Atlassian-Account-Id': parameters.accountId, 'Atlassian-Transfer-Id': parameters.transferId, }, - data: { + body: { updateValueList: parameters.updateValueList, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -60,9 +57,8 @@ export class AppMigration { ): Promise; async updateEntityPropertiesValue( parameters: Parameters.UpdateEntityPropertiesValue, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/atlassian-connect/1/migration/properties/${parameters.entityType}`, method: 'PUT', headers: { @@ -70,10 +66,10 @@ export class AppMigration { 'Atlassian-Transfer-Id': parameters.transferId, 'Content-Type': 'application/json', }, - data: parameters.entities, + body: parameters.entities, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -94,21 +90,20 @@ export class AppMigration { ): Promise; async workflowRuleSearch( parameters: Parameters.WorkflowRuleSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/atlassian-connect/1/migration/workflow/rule/search', method: 'POST', headers: { 'Atlassian-Transfer-Id': parameters.transferId, }, - data: { + body: { expand: parameters.expand, ruleIds: parameters.ruleIds, workflowEntityId: parameters.workflowEntityId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/appProperties.ts b/src/version3/appProperties.ts index 28437528ea..81ead2f3b3 100644 --- a/src/version3/appProperties.ts +++ b/src/version3/appProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AppProperties { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class AppProperties { ): Promise; async getAddonProperties( parameters: Parameters.GetAddonProperties | string, - callback?: Callback, ): Promise { const addonKey = typeof parameters === 'string' ? parameters : parameters.addonKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${addonKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -65,16 +64,13 @@ export class AppProperties { parameters: Parameters.GetAddonProperty, callback?: never, ): Promise; - async getAddonProperty( - parameters: Parameters.GetAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAddonProperty(parameters: Parameters.GetAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,17 +101,14 @@ export class AppProperties { parameters: Parameters.PutAddonProperty, callback?: never, ): Promise; - async putAddonProperty( - parameters: Parameters.PutAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async putAddonProperty(parameters: Parameters.PutAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -134,16 +127,13 @@ export class AppProperties { * properties (stored against the same `app.connect.key`). */ async deleteAddonProperty(parameters: Parameters.DeleteAddonProperty, callback?: never): Promise; - async deleteAddonProperty( - parameters: Parameters.DeleteAddonProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAddonProperty(parameters: Parameters.DeleteAddonProperty): Promise { + const config: Request = { url: `/rest/atlassian-connect/1/addons/${parameters.addonKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -188,17 +178,14 @@ export class AppProperties { parameters: Parameters.PutAppProperty, callback?: never, ): Promise; - async putAppProperty( - parameters: Parameters.PutAppProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async putAppProperty(parameters: Parameters.PutAppProperty): Promise { + const config: Request = { url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -221,15 +208,12 @@ export class AppProperties { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async deleteAppProperty(parameters: Parameters.DeleteAppProperty, callback?: never): Promise; - async deleteAppProperty( - parameters: Parameters.DeleteAppProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAppProperty(parameters: Parameters.DeleteAppProperty): Promise { + const config: Request = { url: `/rest/forge/1/app/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/applicationRoles.ts b/src/version3/applicationRoles.ts index 2d9372266a..93bbca0ce6 100644 --- a/src/version3/applicationRoles.ts +++ b/src/version3/applicationRoles.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ApplicationRoles { constructor(private client: Client) {} @@ -23,13 +23,13 @@ export class ApplicationRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllApplicationRoles(callback?: never): Promise; - async getAllApplicationRoles(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllApplicationRoles(): Promise { + const config: Request = { url: '/rest/api/3/applicationrole', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,15 +54,14 @@ export class ApplicationRoles { ): Promise; async getApplicationRole( parameters: Parameters.GetApplicationRole | string, - callback?: Callback, ): Promise { const key = typeof parameters === 'string' ? parameters : parameters.key; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/applicationrole/${key}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/auditRecords.ts b/src/version3/auditRecords.ts index d898e30568..41b2dbe3a7 100644 --- a/src/version3/auditRecords.ts +++ b/src/version3/auditRecords.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class AuditRecords { constructor(private client: Client) {} @@ -58,14 +58,11 @@ export class AuditRecords { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAuditRecords(parameters?: Parameters.GetAuditRecords, callback?: never): Promise; - async getAuditRecords( - parameters?: Parameters.GetAuditRecords, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAuditRecords(parameters?: Parameters.GetAuditRecords): Promise { + const config: Request = { url: '/rest/api/3/auditing/record', method: 'GET', - params: { + query: { offset: parameters?.offset, limit: parameters?.limit, filter: parameters?.filter, @@ -74,6 +71,6 @@ export class AuditRecords { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/avatars.ts b/src/version3/avatars.ts index e8d31c647b..142f80644a 100644 --- a/src/version3/avatars.ts +++ b/src/version3/avatars.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Avatars { constructor(private client: Client) {} @@ -33,16 +33,15 @@ export class Avatars { ): Promise; async getAllSystemAvatars( parameters: Parameters.GetAllSystemAvatars | string, - callback?: Callback, ): Promise { const type = typeof parameters === 'string' ? parameters : parameters.type; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/avatar/${type}/system`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,13 +74,13 @@ export class Avatars { * - For priority avatars, none. */ async getAvatars(parameters: Parameters.GetAvatars, callback?: never): Promise; - async getAvatars(parameters: Parameters.GetAvatars, callback?: Callback): Promise { - const config: RequestConfig = { + async getAvatars(parameters: Parameters.GetAvatars): Promise { + const config: Request = { url: `/rest/api/3/universal_avatar/type/${parameters.type}/owner/${parameters.entityId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -132,23 +131,23 @@ export class Avatars { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async storeAvatar(parameters: Parameters.StoreAvatar, callback?: never): Promise; - async storeAvatar(parameters: Parameters.StoreAvatar, callback?: Callback): Promise { - const config: RequestConfig = { + async storeAvatar(parameters: Parameters.StoreAvatar): Promise { + const config: Request = { url: `/rest/api/3/universal_avatar/type/${parameters.type}/owner/${parameters.entityId}`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,13 +164,13 @@ export class Avatars { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteAvatar(parameters: Parameters.DeleteAvatar, callback?: never): Promise; - async deleteAvatar(parameters: Parameters.DeleteAvatar, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteAvatar(parameters: Parameters.DeleteAvatar): Promise { + const config: Request = { url: `/rest/api/3/universal_avatar/type/${parameters.type}/owner/${parameters.owningObjectId}/avatar/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -181,45 +180,24 @@ export class Avatars { * * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback: Callback, - ): Promise; - /** - * Returns the default project, issue type or priority avatar image. - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. - */ - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback?: never, - ): Promise; - async getAvatarImageByType( - parameters: Parameters.GetAvatarImageByType | string, - callback?: Callback, - ): Promise { - const type = typeof parameters === 'string' ? parameters : parameters.type; - - const config: RequestConfig = { - url: `/rest/api/3/universal_avatar/view/type/${type}`, + async getAvatarImageByType(parameters: Parameters.GetAvatarImageByType): Promise { + const config: Request = { + url: `/rest/api/3/universal_avatar/view/type/${parameters.type}`, method: 'GET', - responseType: 'arraybuffer', - params: { - size: typeof parameters !== 'string' ? parameters.size : undefined, - format: typeof parameters !== 'string' ? parameters.format : undefined, + query: { + size: parameters.size, + format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); + + const avatar = await response.arrayBuffer(); + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; const contentType = contentTypeWithEncoding.split(';')[0].trim(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { contentType, avatar } as T; } /** @@ -236,50 +214,24 @@ export class Avatars { * for at least one project the issue type is used in. * - For priority avatars, none. */ - async getAvatarImageByID( - parameters: Parameters.GetAvatarImageByID, - callback: Callback, - ): Promise; - /** - * Returns a project, issue type or priority avatar image by ID. - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** - * - * - For system avatars, none. - * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for - * the project the avatar belongs to. - * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) - * for at least one project the issue type is used in. - * - For priority avatars, none. - */ - async getAvatarImageByID( - parameters: Parameters.GetAvatarImageByID, - callback?: never, - ): Promise; - async getAvatarImageByID( - parameters: Parameters.GetAvatarImageByID, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAvatarImageByID(parameters: Parameters.GetAvatarImageByID): Promise { + const config: Request = { url: `/rest/api/3/universal_avatar/view/type/${parameters.type}/avatar/${parameters.id}`, method: 'GET', - responseType: 'arraybuffer', - params: { + query: { size: parameters.size, format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); + + const avatar = await response.arrayBuffer(); + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; const contentType = contentTypeWithEncoding.split(';')[0].trim(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { avatar, contentType } as T; } /** @@ -296,49 +248,23 @@ export class Avatars { * for at least one project the issue type is used in. * - For priority avatars, none. */ - async getAvatarImageByOwner( - parameters: Parameters.GetAvatarImageByOwner, - callback: Callback, - ): Promise; - /** - * Returns the avatar image for a project, issue type or priority. - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** - * - * - For system avatars, none. - * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for - * the project the avatar belongs to. - * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) - * for at least one project the issue type is used in. - * - For priority avatars, none. - */ - async getAvatarImageByOwner( - parameters: Parameters.GetAvatarImageByOwner, - callback?: never, - ): Promise; - async getAvatarImageByOwner( - parameters: Parameters.GetAvatarImageByOwner, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAvatarImageByOwner(parameters: Parameters.GetAvatarImageByOwner): Promise { + const config: Request = { url: `/rest/api/3/universal_avatar/view/type/${parameters.type}/owner/${parameters.entityId}`, method: 'GET', - responseType: 'arraybuffer', - params: { + query: { size: parameters.size, format: parameters.format, }, }; - const { - data: avatar, - headers: { 'content-type': contentTypeWithEncoding }, - } = await this.client.sendRequestFullResponse(config); + const response = await this.client.sendRequestWithRawResponse(config); + + const avatar = await response.arrayBuffer(); + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; const contentType = contentTypeWithEncoding.split(';')[0].trim(); - return this.client.handleSuccessResponse({ contentType, avatar }, callback); + return { avatar, contentType } as T; } } diff --git a/src/version3/classificationLevels.ts b/src/version3/classificationLevels.ts index e104ffc657..e7125f3324 100644 --- a/src/version3/classificationLevels.ts +++ b/src/version3/classificationLevels.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ClassificationLevels { constructor(private client: Client) {} @@ -27,17 +27,16 @@ export class ClassificationLevels { ): Promise; async getAllUserDataClassificationLevels( parameters?: Parameters.GetAllUserDataClassificationLevels, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/classification-levels', method: 'GET', - params: { + query: { status: parameters?.status, orderBy: parameters?.orderBy, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/dashboards.ts b/src/version3/dashboards.ts index 090c53b11c..e6b76374d3 100644 --- a/src/version3/dashboards.ts +++ b/src/version3/dashboards.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Dashboards { constructor(private client: Client) {} @@ -31,21 +31,18 @@ export class Dashboards { parameters?: Parameters.GetAllDashboards, callback?: never, ): Promise; - async getAllDashboards( - parameters?: Parameters.GetAllDashboards, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllDashboards(parameters?: Parameters.GetAllDashboards): Promise { + const config: Request = { url: '/rest/api/3/dashboard', method: 'GET', - params: { + query: { filter: parameters?.filter, startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -63,17 +60,14 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async createDashboard(parameters: Parameters.CreateDashboard, callback?: never): Promise; - async createDashboard( - parameters: Parameters.CreateDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createDashboard(parameters: Parameters.CreateDashboard): Promise { + const config: Request = { url: '/rest/api/3/dashboard', method: 'POST', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -81,7 +75,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -108,12 +102,11 @@ export class Dashboards { ): Promise; async bulkEditDashboards( parameters: Parameters.BulkEditDashboards, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/dashboard/bulk/edit', method: 'PUT', - data: { + body: { action: parameters.action, changeOwnerDetails: parameters.changeOwnerDetails, entityIds: parameters.entityIds, @@ -122,7 +115,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,15 +132,13 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getAllAvailableDashboardGadgets(callback?: never): Promise; - async getAllAvailableDashboardGadgets( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllAvailableDashboardGadgets(): Promise { + const config: Request = { url: '/rest/api/3/dashboard/gadgets', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -194,12 +185,11 @@ export class Dashboards { ): Promise; async getDashboardsPaginated( parameters?: Parameters.GetDashboardsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/dashboard/search', method: 'GET', - params: { + query: { dashboardName: parameters?.dashboardName, accountId: parameters?.accountId, groupname: parameters?.groupname, @@ -213,7 +203,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -254,21 +244,20 @@ export class Dashboards { ): Promise; async getAllGadgets( parameters: Parameters.GetAllGadgets | string, - callback?: Callback, ): Promise { const dashboardId = typeof parameters === 'string' ? parameters : parameters.dashboardId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/dashboard/${dashboardId}/gadget`, method: 'GET', - params: { + query: { moduleKey: typeof parameters !== 'string' && parameters.moduleKey, uri: typeof parameters !== 'string' && parameters.uri, gadgetId: typeof parameters !== 'string' && parameters.gadgetId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -283,14 +272,11 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async addGadget(parameters: Parameters.AddGadget, callback?: never): Promise; - async addGadget( - parameters: Parameters.AddGadget, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addGadget(parameters: Parameters.AddGadget): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/gadget`, method: 'POST', - data: { + body: { color: parameters.color, ignoreUriAndModuleKeyValidation: parameters.ignoreUriAndModuleKeyValidation, moduleKey: parameters.moduleKey, @@ -300,7 +286,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -315,18 +301,18 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async updateGadget(parameters: Parameters.UpdateGadget, callback?: never): Promise; - async updateGadget(parameters: Parameters.UpdateGadget, callback?: Callback): Promise { - const config: RequestConfig = { + async updateGadget(parameters: Parameters.UpdateGadget): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/gadget/${parameters.gadgetId}`, method: 'PUT', - data: { + body: { color: parameters.color, position: parameters.position, title: parameters.title, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -347,13 +333,13 @@ export class Dashboards { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async removeGadget(parameters: Parameters.RemoveGadget, callback?: never): Promise; - async removeGadget(parameters: Parameters.RemoveGadget, callback?: Callback): Promise { - const config: RequestConfig = { + async removeGadget(parameters: Parameters.RemoveGadget): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/gadget/${parameters.gadgetId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -388,14 +374,13 @@ export class Dashboards { ): Promise; async getDashboardItemPropertyKeys( parameters: Parameters.GetDashboardItemPropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -458,14 +443,13 @@ export class Dashboards { ): Promise; async getDashboardItemProperty( parameters: Parameters.GetDashboardItemProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -530,20 +514,17 @@ export class Dashboards { parameters: Parameters.SetDashboardItemProperty, callback?: never, ): Promise; - async setDashboardItemProperty( - parameters: Parameters.SetDashboardItemProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDashboardItemProperty(parameters: Parameters.SetDashboardItemProperty): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'PUT', headers: { 'Content-Type': 'application/json', }, - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -572,16 +553,13 @@ export class Dashboards { parameters: Parameters.DeleteDashboardItemProperty, callback?: never, ): Promise; - async deleteDashboardItemProperty( - parameters: Parameters.DeleteDashboardItemProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteDashboardItemProperty(parameters: Parameters.DeleteDashboardItemProperty): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.dashboardId}/items/${parameters.itemId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -611,18 +589,15 @@ export class Dashboards { * System dashboard. The System dashboard is considered to be shared with all other users. */ async getDashboard(parameters: Parameters.GetDashboard | string, callback?: never): Promise; - async getDashboard( - parameters: Parameters.GetDashboard | string, - callback?: Callback, - ): Promise { + async getDashboard(parameters: Parameters.GetDashboard | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/dashboard/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -644,17 +619,14 @@ export class Dashboards { * The dashboard to be updated must be owned by the user. */ async updateDashboard(parameters: Parameters.UpdateDashboard, callback?: never): Promise; - async updateDashboard( - parameters: Parameters.UpdateDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateDashboard(parameters: Parameters.UpdateDashboard): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.id}`, method: 'PUT', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -662,7 +634,7 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -684,18 +656,15 @@ export class Dashboards { * The dashboard to be deleted must be owned by the user. */ async deleteDashboard(parameters: Parameters.DeleteDashboard | string, callback?: never): Promise; - async deleteDashboard( - parameters: Parameters.DeleteDashboard | string, - callback?: Callback, - ): Promise { + async deleteDashboard(parameters: Parameters.DeleteDashboard | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/dashboard/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -714,17 +683,14 @@ export class Dashboards { * The dashboard to be copied must be owned by or shared with the user. */ async copyDashboard(parameters: Parameters.CopyDashboard, callback?: never): Promise; - async copyDashboard( - parameters: Parameters.CopyDashboard, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async copyDashboard(parameters: Parameters.CopyDashboard): Promise { + const config: Request = { url: `/rest/api/3/dashboard/${parameters.id}/copy`, method: 'POST', - params: { + query: { extendAdminPermissions: parameters.extendAdminPermissions, }, - data: { + body: { description: parameters.description, editPermissions: parameters.editPermissions, name: parameters.name, @@ -732,6 +698,6 @@ export class Dashboards { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/dynamicModules.ts b/src/version3/dynamicModules.ts index 59daef17b4..2ede3f2356 100644 --- a/src/version3/dynamicModules.ts +++ b/src/version3/dynamicModules.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class DynamicModules { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class DynamicModules { * Connect apps can make this request. */ async getModules(callback?: never): Promise; - async getModules(callback?: Callback): Promise { - const config: RequestConfig = { + async getModules(): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -47,19 +47,16 @@ export class DynamicModules { * Connect apps can make this request. */ async registerModules(parameters?: Parameters.RegisterModules, callback?: never): Promise; - async registerModules( - parameters?: Parameters.RegisterModules, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async registerModules(parameters?: Parameters.RegisterModules): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'POST', - data: { + body: { modules: parameters?.modules, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -76,15 +73,15 @@ export class DynamicModules { * Connect apps can make this request. */ async removeModules(parameters?: Parameters.RemoveModules, callback?: never): Promise; - async removeModules(parameters?: Parameters.RemoveModules, callback?: Callback): Promise { - const config: RequestConfig = { + async removeModules(parameters?: Parameters.RemoveModules): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/app/module/dynamic', method: 'DELETE', - params: { + query: { moduleKey: parameters?.moduleKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/filterSharing.ts b/src/version3/filterSharing.ts index d040ea786d..42c69de61e 100644 --- a/src/version3/filterSharing.ts +++ b/src/version3/filterSharing.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class FilterSharing { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class FilterSharing { * Permission to access Jira. */ async getDefaultShareScope(callback?: never): Promise; - async getDefaultShareScope(callback?: Callback): Promise { - const config: RequestConfig = { + async getDefaultShareScope(): Promise { + const config: Request = { url: '/rest/api/3/filter/defaultShareScope', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -52,19 +52,18 @@ export class FilterSharing { ): Promise; async setDefaultShareScope( parameters: Parameters.SetDefaultShareScope | string, - callback?: Callback, ): Promise { const scope = typeof parameters === 'string' ? parameters : parameters.scope; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/filter/defaultShareScope', method: 'PUT', - data: { + body: { scope, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,16 +108,15 @@ export class FilterSharing { ): Promise; async getSharePermissions( parameters: Parameters.GetSharePermissions | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}/permission`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -151,14 +149,11 @@ export class FilterSharing { parameters: Parameters.AddSharePermission, callback?: never, ): Promise; - async addSharePermission( - parameters: Parameters.AddSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addSharePermission(parameters: Parameters.AddSharePermission): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}/permission`, method: 'POST', - data: { + body: { accountId: parameters.accountId, groupId: parameters.groupId, groupname: parameters.groupname, @@ -169,7 +164,7 @@ export class FilterSharing { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,16 +207,13 @@ export class FilterSharing { parameters: Parameters.GetSharePermission, callback?: never, ): Promise; - async getSharePermission( - parameters: Parameters.GetSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSharePermission(parameters: Parameters.GetSharePermission): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}/permission/${parameters.permissionId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -241,15 +233,12 @@ export class FilterSharing { * Permission to access Jira and the user must own the filter. */ async deleteSharePermission(parameters: Parameters.DeleteSharePermission, callback?: never): Promise; - async deleteSharePermission( - parameters: Parameters.DeleteSharePermission, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteSharePermission(parameters: Parameters.DeleteSharePermission): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}/permission/${parameters.permissionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/filters.ts b/src/version3/filters.ts index 8cb7a10908..dd45bb4111 100644 --- a/src/version3/filters.ts +++ b/src/version3/filters.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Filters { constructor(private client: Client) {} @@ -25,18 +25,15 @@ export class Filters { * Permission to access Jira. */ async createFilter(parameters: Parameters.CreateFilter, callback?: never): Promise; - async createFilter( - parameters: Parameters.CreateFilter, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createFilter(parameters: Parameters.CreateFilter): Promise { + const config: Request = { url: '/rest/api/3/filter', method: 'POST', - params: { + query: { expand: parameters.expand, overrideSharePermissions: parameters.overrideSharePermissions, }, - data: { + body: { approximateLastUsed: parameters.approximateLastUsed, description: parameters.description, editPermissions: parameters.editPermissions, @@ -55,7 +52,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,19 +99,16 @@ export class Filters { parameters?: Parameters.GetFavouriteFilters, callback?: never, ): Promise; - async getFavouriteFilters( - parameters?: Parameters.GetFavouriteFilters, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFavouriteFilters(parameters?: Parameters.GetFavouriteFilters): Promise { + const config: Request = { url: '/rest/api/3/filter/favourite', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -156,20 +150,17 @@ export class Filters { * this operation. */ async getMyFilters(parameters?: Parameters.GetMyFilters, callback?: never): Promise; - async getMyFilters( - parameters?: Parameters.GetMyFilters, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getMyFilters(parameters?: Parameters.GetMyFilters): Promise { + const config: Request = { url: '/rest/api/3/filter/my', method: 'GET', - params: { + query: { expand: parameters?.expand, includeFavourites: parameters?.includeFavourites, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -222,12 +213,11 @@ export class Filters { ): Promise; async getFiltersPaginated( parameters?: Parameters.GetFiltersPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/filter/search', method: 'GET', - params: { + query: { filterName: parameters?.filterName, accountId: parameters?.accountId, groupname: parameters?.groupname, @@ -243,7 +233,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,22 +268,19 @@ export class Filters { * - Shared with the public. */ async getFilter(parameters: Parameters.GetFilter | string, callback?: never): Promise; - async getFilter( - parameters: Parameters.GetFilter | string, - callback?: Callback, - ): Promise { + async getFilter(parameters: Parameters.GetFilter | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, overrideSharePermissions: typeof parameters !== 'string' && parameters.overrideSharePermissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -310,18 +297,15 @@ export class Filters { * Permission to access Jira, however the user must own the filter. */ async updateFilter(parameters: Parameters.UpdateFilter, callback?: never): Promise; - async updateFilter( - parameters: Parameters.UpdateFilter, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateFilter(parameters: Parameters.UpdateFilter): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}`, method: 'PUT', - params: { + query: { expand: parameters.expand, overrideSharePermissions: parameters.overrideSharePermissions, }, - data: { + body: { name: parameters.name, description: parameters.description, jql: parameters.jql, @@ -330,7 +314,7 @@ export class Filters { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -349,18 +333,15 @@ export class Filters { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteFilter(parameters: Parameters.DeleteFilter | string, callback?: never): Promise; - async deleteFilter( - parameters: Parameters.DeleteFilter | string, - callback?: Callback, - ): Promise { + async deleteFilter(parameters: Parameters.DeleteFilter | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -400,18 +381,15 @@ export class Filters { * - Filters shared with the public. */ async getColumns(parameters: Parameters.GetColumns | string, callback?: never): Promise; - async getColumns( - parameters: Parameters.GetColumns | string, - callback?: Callback, - ): Promise { + async getColumns(parameters: Parameters.GetColumns | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}/columns`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -456,14 +434,14 @@ export class Filters { * - Filters shared with the public. */ async setColumns(parameters: Parameters.SetColumns, callback?: never): Promise; - async setColumns(parameters: Parameters.SetColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async setColumns(parameters: Parameters.SetColumns): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}/columns`, method: 'PUT', - data: parameters.columns, + body: parameters.columns, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -494,18 +472,15 @@ export class Filters { * - Filters shared with the public. */ async resetColumns(parameters: Parameters.ResetColumns | string, callback?: never): Promise; - async resetColumns( - parameters: Parameters.ResetColumns | string, - callback?: Callback, - ): Promise { + async resetColumns(parameters: Parameters.ResetColumns | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}/columns`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -544,19 +519,18 @@ export class Filters { ): Promise; async setFavouriteForFilter( parameters: Parameters.SetFavouriteForFilter | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}/favourite`, method: 'PUT', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -585,19 +559,18 @@ export class Filters { ): Promise; async deleteFavouriteForFilter( parameters: Parameters.DeleteFavouriteForFilter | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/filter/${id}/favourite`, method: 'DELETE', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -616,18 +589,15 @@ export class Filters { * permission](https://confluence.atlassian.com/x/x4dKLg). */ async changeFilterOwner(parameters: Parameters.ChangeFilterOwner, callback?: never): Promise; - async changeFilterOwner( - parameters: Parameters.ChangeFilterOwner, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async changeFilterOwner(parameters: Parameters.ChangeFilterOwner): Promise { + const config: Request = { url: `/rest/api/3/filter/${parameters.id}/owner`, method: 'PUT', - data: { + body: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/groupAndUserPicker.ts b/src/version3/groupAndUserPicker.ts index a80ae3cf2e..83f3dfb461 100644 --- a/src/version3/groupAndUserPicker.ts +++ b/src/version3/groupAndUserPicker.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class GroupAndUserPicker { constructor(private client: Client) {} @@ -87,12 +87,11 @@ export class GroupAndUserPicker { ): Promise; async findUsersAndGroups( parameters: Parameters.FindUsersAndGroups, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/groupuserpicker', method: 'GET', - params: { + query: { query: parameters.query, maxResults: parameters.maxResults, showAvatar: parameters.showAvatar, @@ -105,6 +104,6 @@ export class GroupAndUserPicker { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/groups.ts b/src/version3/groups.ts index 8fcd83ad2b..91f640385b 100644 --- a/src/version3/groups.ts +++ b/src/version3/groups.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Groups { constructor(private client: Client) {} @@ -21,14 +21,14 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async createGroup(parameters: Parameters.CreateGroup, callback?: never): Promise; - async createGroup(parameters: Parameters.CreateGroup, callback?: Callback): Promise { - const config: RequestConfig = { + async createGroup(parameters: Parameters.CreateGroup): Promise { + const config: Request = { url: '/rest/api/3/group', method: 'POST', - data: parameters, + body: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -45,11 +45,11 @@ export class Groups { * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)). */ async removeGroup(parameters: Parameters.RemoveGroup, callback?: never): Promise; - async removeGroup(parameters: Parameters.RemoveGroup, callback?: Callback): Promise { - const config: RequestConfig = { + async removeGroup(parameters: Parameters.RemoveGroup): Promise { + const config: Request = { url: '/rest/api/3/group', method: 'DELETE', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, swapGroup: parameters.swapGroup, @@ -57,7 +57,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,14 +79,11 @@ export class Groups { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async bulkGetGroups(parameters?: Parameters.BulkGetGroups, callback?: never): Promise; - async bulkGetGroups( - parameters?: Parameters.BulkGetGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkGetGroups(parameters?: Parameters.BulkGetGroups): Promise { + const config: Request = { url: '/rest/api/3/group/bulk', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, groupId: parameters?.groupId, @@ -96,7 +93,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -133,14 +130,11 @@ export class Groups { parameters: Parameters.GetUsersFromGroup, callback?: never, ): Promise; - async getUsersFromGroup( - parameters: Parameters.GetUsersFromGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUsersFromGroup(parameters: Parameters.GetUsersFromGroup): Promise { + const config: Request = { url: '/rest/api/3/group/member', method: 'GET', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, includeInactiveUsers: parameters.includeInactiveUsers, @@ -149,7 +143,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -166,24 +160,21 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async addUserToGroup(parameters: Parameters.AddUserToGroup, callback?: never): Promise; - async addUserToGroup( - parameters: Parameters.AddUserToGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addUserToGroup(parameters: Parameters.AddUserToGroup): Promise { + const config: Request = { url: '/rest/api/3/group/user', method: 'POST', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, }, - data: { + body: { accountId: parameters.accountId, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -203,14 +194,11 @@ export class Groups { * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async removeUserFromGroup(parameters: Parameters.RemoveUserFromGroup, callback?: never): Promise; - async removeUserFromGroup( - parameters: Parameters.RemoveUserFromGroup, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeUserFromGroup(parameters: Parameters.RemoveUserFromGroup): Promise { + const config: Request = { url: '/rest/api/3/group/user', method: 'DELETE', - params: { + query: { groupname: parameters.groupname, groupId: parameters.groupId, username: parameters.username, @@ -218,7 +206,7 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -266,14 +254,11 @@ export class Groups { * calls where query is not an exact match to an existing group will return an empty list. */ async findGroups(parameters?: Parameters.FindGroups, callback?: never): Promise; - async findGroups( - parameters?: Parameters.FindGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findGroups(parameters?: Parameters.FindGroups): Promise { + const config: Request = { url: '/rest/api/3/groups/picker', method: 'GET', - params: { + query: { query: parameters?.query, exclude: parameters?.exclude, excludeId: parameters?.excludeId, @@ -282,6 +267,6 @@ export class Groups { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/instanceInformation.ts b/src/version3/instanceInformation.ts index feb0d20202..7b40101d39 100644 --- a/src/version3/instanceInformation.ts +++ b/src/version3/instanceInformation.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Callback } from '../callback'; import type { Client } from '../clients'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class InstanceInformation { constructor(private client: Client) {} @@ -22,12 +22,12 @@ export class InstanceInformation { * @deprecated This method is deprecated and will be removed in a future version. Please use an alternative method. */ async getLicense(callback?: never): Promise; - async getLicense(callback?: Callback): Promise { - const config: RequestConfig = { + async getLicense(): Promise { + const config: Request = { url: '/rest/api/3/instance/license', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueAttachments.ts b/src/version3/issueAttachments.ts index 309dcf3061..ed9dcfe953 100644 --- a/src/version3/issueAttachments.ts +++ b/src/version3/issueAttachments.ts @@ -4,7 +4,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueAttachments { constructor(private client: Client) {} @@ -28,49 +28,23 @@ export class IssueAttachments { * to view the issue. * - If attachments are added in private comments, the comment-level restriction will be applied. */ - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback: Callback, - ): Promise; - /** - * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment - * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) - * for details. - * - * To return a thumbnail of the attachment, use [Get attachment - * thumbnail](#api-rest-api-3-attachment-thumbnail-id-get). - * - * This operation can be accessed anonymously. - * - * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the - * issue containing the attachment: - * - * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is - * in. - * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission - * to view the issue. - * - If attachments are added in private comments, the comment-level restriction will be applied. - */ - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback?: never, - ): Promise; - async getAttachmentContent( - parameters: Parameters.GetAttachmentContent | string, - callback?: Callback, - ): Promise { - const id = typeof parameters === 'string' ? parameters : parameters.id; - - const config: RequestConfig = { - url: `/rest/api/3/attachment/content/${id}`, + async getAttachmentContent(parameters: Parameters.GetAttachmentContent): Promise { + // todo #396 add Range header - https://github.com/MrRefactoring/jira.js/issues/396 + const config: Request = { + url: `/rest/api/3/attachment/content/${parameters.id}`, method: 'GET', - params: { - redirect: typeof parameters !== 'string' && parameters.redirect, + query: { + redirect: parameters.redirect, }, - responseType: 'arraybuffer', }; - return this.client.sendRequest(config, callback); + const response = await this.client.sendRequestWithRawResponse(config); + + const contentTypeWithEncoding = response.headers.get('content-type') ?? ''; + const content = await response.arrayBuffer(); + const contentType = contentTypeWithEncoding.split(';')[0].trim(); + + return { contentType, content } as T; } /** @@ -95,13 +69,13 @@ export class IssueAttachments { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getAttachmentMeta(callback?: never): Promise; - async getAttachmentMeta(callback?: Callback): Promise { - const config: RequestConfig = { + async getAttachmentMeta(): Promise { + const config: Request = { url: '/rest/api/3/attachment/meta', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,25 +118,22 @@ export class IssueAttachments { parameters: Parameters.GetAttachmentThumbnail | string, callback?: never, ): Promise; - async getAttachmentThumbnail( - parameters: Parameters.GetAttachmentThumbnail | string, - callback?: Callback, - ): Promise { + async getAttachmentThumbnail(parameters: Parameters.GetAttachmentThumbnail | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/attachment/thumbnail/${id}`, method: 'GET', - params: { + query: { redirect: typeof parameters !== 'string' && parameters.redirect, fallbackToDefault: typeof parameters !== 'string' && parameters.fallbackToDefault, width: typeof parameters !== 'string' && parameters.width, height: typeof parameters !== 'string' && parameters.height, }, - responseType: 'arraybuffer', + // responseType: 'arraybuffer', // todo }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,18 +170,15 @@ export class IssueAttachments { parameters: Parameters.GetAttachment | string, callback?: never, ): Promise; - async getAttachment( - parameters: Parameters.GetAttachment | string, - callback?: Callback, - ): Promise { + async getAttachment(parameters: Parameters.GetAttachment | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/attachment/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -244,18 +212,15 @@ export class IssueAttachments { * created by any user. */ async removeAttachment(parameters: Parameters.RemoveAttachment | string, callback?: never): Promise; - async removeAttachment( - parameters: Parameters.RemoveAttachment | string, - callback?: Callback, - ): Promise { + async removeAttachment(parameters: Parameters.RemoveAttachment | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/attachment/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -310,16 +275,15 @@ export class IssueAttachments { ): Promise; async expandAttachmentForHumans( parameters: Parameters.ExpandAttachmentForHumans | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/attachment/${id}/expand/human`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -374,16 +338,15 @@ export class IssueAttachments { ): Promise; async expandAttachmentForMachines( parameters: Parameters.ExpandAttachmentForMachines | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/attachment/${id}/expand/raw`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -429,10 +392,7 @@ export class IssueAttachments { * to view the issue. */ async addAttachment(parameters: Parameters.AddAttachment, callback?: never): Promise; - async addAttachment( - parameters: Parameters.AddAttachment, - callback?: Callback, - ): Promise { + async addAttachment(parameters: Parameters.AddAttachment): Promise { const formData = new FormData(); const attachments = Array.isArray(parameters.attachment) ? parameters.attachment : [parameters.attachment]; @@ -455,19 +415,17 @@ export class IssueAttachments { formData.append('file', file, attachment.filename); } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/attachments`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', - 'Content-Type': 'multipart/form-data', + // 'Content-Type': 'multipart/form-data', }, - data: formData, - maxBodyLength: Infinity, - maxContentLength: Infinity, + body: formData, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } private async _convertToFile( diff --git a/src/version3/issueBulkOperations.ts b/src/version3/issueBulkOperations.ts index 19c87879a8..8de2c995ab 100644 --- a/src/version3/issueBulkOperations.ts +++ b/src/version3/issueBulkOperations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueBulkOperations { constructor(private client: Client) {} @@ -49,18 +49,17 @@ export class IssueBulkOperations { ): Promise; async submitBulkDelete( parameters: Parameters.SubmitBulkDelete, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/bulk/issues/delete', method: 'POST', - data: { + body: { selectedIssueIdsOrKeys: parameters.selectedIssueIdsOrKeys, sendBulkNotification: parameters.sendBulkNotification, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,12 +104,11 @@ export class IssueBulkOperations { ): Promise; async getBulkEditableFields( parameters: Parameters.GetBulkEditableFields, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/bulk/issues/fields', method: 'GET', - params: { + query: { issueIdsOrKeys: parameters.issueIdsOrKeys, searchText: parameters.searchText, endingBefore: parameters.endingBefore, @@ -118,7 +116,7 @@ export class IssueBulkOperations { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -163,14 +161,11 @@ export class IssueBulkOperations { parameters: Parameters.SubmitBulkEdit, callback?: never, ): Promise; - async submitBulkEdit( - parameters: Parameters.SubmitBulkEdit, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitBulkEdit(parameters: Parameters.SubmitBulkEdit): Promise { + const config: Request = { url: '/rest/api/3/bulk/issues/fields', method: 'POST', - data: { + body: { editedFieldsInput: parameters.editedFieldsInput, selectedActions: parameters.selectedActions, selectedIssueIdsOrKeys: parameters.selectedIssueIdsOrKeys, @@ -178,7 +173,7 @@ export class IssueBulkOperations { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -269,20 +264,17 @@ export class IssueBulkOperations { parameters: Parameters.SubmitBulkMove, callback?: never, ): Promise; - async submitBulkMove( - parameters: Parameters.SubmitBulkMove, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitBulkMove(parameters: Parameters.SubmitBulkMove): Promise { + const config: Request = { url: '/rest/api/3/bulk/issues/move', method: 'POST', - data: { + body: { sendBulkNotification: parameters.sendBulkNotification, targetToSourcesMapping: parameters.targetToSourcesMapping, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -345,19 +337,18 @@ export class IssueBulkOperations { ): Promise; async getAvailableTransitions( parameters: Parameters.GetAvailableTransitions, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/bulk/issues/transition', method: 'GET', - params: { + query: { issueIdsOrKeys: parameters.issueIdsOrKeys, endingBefore: parameters.endingBefore, startingAfter: parameters.startingAfter, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -404,18 +395,17 @@ export class IssueBulkOperations { ): Promise; async submitBulkTransition( parameters: Parameters.SubmitBulkTransition, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/bulk/issues/transition', method: 'POST', - data: { + body: { bulkTransitionInputs: parameters.bulkTransitionInputs, sendBulkNotification: parameters.sendBulkNotification, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -454,17 +444,16 @@ export class IssueBulkOperations { ): Promise; async submitBulkUnwatch( parameters: Parameters.SubmitBulkUnwatch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/bulk/issues/unwatch', method: 'POST', - data: { + body: { selectedIssueIdsOrKeys: parameters.selectedIssueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -501,19 +490,16 @@ export class IssueBulkOperations { parameters: Parameters.SubmitBulkWatch, callback?: never, ): Promise; - async submitBulkWatch( - parameters: Parameters.SubmitBulkWatch, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async submitBulkWatch(parameters: Parameters.SubmitBulkWatch): Promise { + const config: Request = { url: '/rest/api/3/bulk/issues/watch', method: 'POST', - data: { + body: { selectedIssueIdsOrKeys: parameters.selectedIssueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -600,13 +586,12 @@ export class IssueBulkOperations { ): Promise; async getBulkOperationProgress( parameters: Parameters.GetBulkOperationProgress, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/bulk/queue/${parameters.taskId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCommentProperties.ts b/src/version3/issueCommentProperties.ts index 798a146334..4a3926b4f6 100644 --- a/src/version3/issueCommentProperties.ts +++ b/src/version3/issueCommentProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCommentProperties { constructor(private client: Client) {} @@ -41,16 +41,15 @@ export class IssueCommentProperties { ): Promise; async getCommentPropertyKeys( parameters: Parameters.GetCommentPropertyKeys | string, - callback?: Callback, ): Promise { const commentId = typeof parameters === 'string' ? parameters : parameters.commentId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/comment/${commentId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -85,16 +84,13 @@ export class IssueCommentProperties { parameters: Parameters.GetCommentProperty, callback?: never, ): Promise; - async getCommentProperty( - parameters: Parameters.GetCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCommentProperty(parameters: Parameters.GetCommentProperty): Promise { + const config: Request = { url: `/rest/api/3/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -136,17 +132,14 @@ export class IssueCommentProperties { * group. */ async setCommentProperty(parameters: Parameters.SetCommentProperty, callback?: never): Promise; - async setCommentProperty( - parameters: Parameters.SetCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setCommentProperty(parameters: Parameters.SetCommentProperty): Promise { + const config: Request = { url: `/rest/api/3/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.property, + body: parameters.property, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -182,15 +175,12 @@ export class IssueCommentProperties { * group. */ async deleteCommentProperty(parameters: Parameters.DeleteCommentProperty, callback?: never): Promise; - async deleteCommentProperty( - parameters: Parameters.DeleteCommentProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCommentProperty(parameters: Parameters.DeleteCommentProperty): Promise { + const config: Request = { url: `/rest/api/3/comment/${parameters.commentId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueComments.ts b/src/version3/issueComments.ts index dee7f00727..0c59a2f0e9 100644 --- a/src/version3/issueComments.ts +++ b/src/version3/issueComments.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueComments { constructor(private client: Client) {} @@ -42,22 +42,19 @@ export class IssueComments { * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async getCommentsByIds(parameters: Parameters.GetCommentsByIds, callback?: never): Promise; - async getCommentsByIds( - parameters: Parameters.GetCommentsByIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCommentsByIds(parameters: Parameters.GetCommentsByIds): Promise { + const config: Request = { url: '/rest/api/3/comment/list', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { ids: parameters.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -98,16 +95,13 @@ export class IssueComments { parameters: Parameters.GetComments | string, callback?: never, ): Promise; - async getComments( - parameters: Parameters.GetComments | string, - callback?: Callback, - ): Promise { + async getComments(parameters: Parameters.GetComments | string): Promise { const issueIdOrKey = typeof parameters === 'string' ? parameters : parameters.issueIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${issueIdOrKey}/comment`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, orderBy: typeof parameters !== 'string' && parameters.orderBy, @@ -115,7 +109,7 @@ export class IssueComments { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,7 +138,7 @@ export class IssueComments { * to view the issue. */ async addComment(parameters: Parameters.AddComment, callback?: never): Promise; - async addComment(parameters: Parameters.AddComment, callback?: Callback): Promise { + async addComment(parameters: Parameters.AddComment): Promise { const body = typeof parameters.comment === 'string' ? { @@ -159,13 +153,13 @@ export class IssueComments { } : parameters.comment; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/comment`, method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { author: parameters.author, body, created: parameters.created, @@ -181,7 +175,7 @@ export class IssueComments { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -214,16 +208,16 @@ export class IssueComments { * to. */ async getComment(parameters: Parameters.GetComment, callback?: never): Promise; - async getComment(parameters: Parameters.GetComment, callback?: Callback): Promise { - const config: RequestConfig = { + async getComment(parameters: Parameters.GetComment): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -266,10 +260,7 @@ export class IssueComments { * visibility will result in a 400 (Bad Request) error. */ async updateComment(parameters: Parameters.UpdateComment, callback?: never): Promise; - async updateComment( - parameters: Parameters.UpdateComment, - callback?: Callback, - ): Promise { + async updateComment(parameters: Parameters.UpdateComment): Promise { const body = typeof parameters.body === 'string' ? { @@ -284,22 +275,22 @@ export class IssueComments { } : parameters.body; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, overrideEditableFlag: parameters.overrideEditableFlag, expand: parameters.expand, }, - data: { + body: { body, visibility: parameters.visibility, properties: parameters.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -332,15 +323,15 @@ export class IssueComments { * to. */ async deleteComment(parameters: Parameters.DeleteComment, callback?: never): Promise; - async deleteComment(parameters: Parameters.DeleteComment, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteComment(parameters: Parameters.DeleteComment): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/comment/${parameters.id}`, method: 'DELETE', - params: { + query: { parentId: parameters.parentId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldAssociations.ts b/src/version3/issueCustomFieldAssociations.ts index cfde0af315..16ad31e37f 100644 --- a/src/version3/issueCustomFieldAssociations.ts +++ b/src/version3/issueCustomFieldAssociations.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldAssociations { constructor(private client: Client) {} @@ -46,20 +46,17 @@ export class IssueCustomFieldAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createAssociations(parameters: Parameters.CreateAssociations, callback?: never): Promise; - async createAssociations( - parameters: Parameters.CreateAssociations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createAssociations(parameters: Parameters.CreateAssociations): Promise { + const config: Request = { url: '/rest/api/3/field/association', method: 'PUT', - data: { + body: { associationContexts: parameters.associationContexts, fields: parameters.fields, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -100,19 +97,16 @@ export class IssueCustomFieldAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeAssociations(parameters: Parameters.RemoveAssociations, callback?: never): Promise; - async removeAssociations( - parameters: Parameters.RemoveAssociations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeAssociations(parameters: Parameters.RemoveAssociations): Promise { + const config: Request = { url: '/rest/api/3/field/association', method: 'DELETE', - data: { + body: { associationContexts: parameters.associationContexts, fields: parameters.fields, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldConfigurationApps.ts b/src/version3/issueCustomFieldConfigurationApps.ts index 1bc8527f57..81b1647b5c 100644 --- a/src/version3/issueCustomFieldConfigurationApps.ts +++ b/src/version3/issueCustomFieldConfigurationApps.ts @@ -3,7 +3,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldConfigurationApps { constructor(private client: Client) {} @@ -56,12 +56,11 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async getCustomFieldsConfigurations( parameters?: Parameters.GetCustomFieldsConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/app/field/context/configuration/list', method: 'POST', - params: { + query: { id: parameters?.id, fieldContextId: paramSerializer('fieldContextId', parameters?.fieldContextId), issueId: parameters?.issueId, @@ -70,12 +69,12 @@ export class IssueCustomFieldConfigurationApps { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, - data: { + body: { fieldIdsOrKeys: parameters?.fieldIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -126,14 +125,13 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async getCustomFieldConfiguration( parameters: Parameters.GetCustomFieldConfiguration | string, - callback?: Callback, ): Promise { const fieldIdOrKey = typeof parameters === 'string' ? parameters : parameters.fieldIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/app/field/${fieldIdOrKey}/context/configuration`, method: 'GET', - params: { + query: { id: typeof parameters !== 'string' && parameters.id, fieldContextId: typeof parameters !== 'string' && parameters.fieldContextId, issueId: typeof parameters !== 'string' && parameters.issueId, @@ -144,7 +142,7 @@ export class IssueCustomFieldConfigurationApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -175,16 +173,15 @@ export class IssueCustomFieldConfigurationApps { ): Promise; async updateCustomFieldConfiguration( parameters: Parameters.UpdateCustomFieldConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/app/field/${parameters.fieldIdOrKey}/context/configuration`, method: 'PUT', - data: { + body: { configurations: parameters.configurations, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldContexts.ts b/src/version3/issueCustomFieldContexts.ts index f34cbdf27a..d12d523377 100644 --- a/src/version3/issueCustomFieldContexts.ts +++ b/src/version3/issueCustomFieldContexts.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldContexts { constructor(private client: Client) {} @@ -49,14 +49,13 @@ export class IssueCustomFieldContexts { ): Promise; async getContextsForField( parameters: Parameters.GetContextsForField | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldId}/context`, method: 'GET', - params: { + query: { isAnyIssueType: typeof parameters !== 'string' && parameters.isAnyIssueType, isGlobalContext: typeof parameters !== 'string' && parameters.isGlobalContext, contextId: typeof parameters !== 'string' && parameters.contextId, @@ -65,7 +64,7 @@ export class IssueCustomFieldContexts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -96,12 +95,11 @@ export class IssueCustomFieldContexts { ): Promise; async createCustomFieldContext( parameters: Parameters.CreateCustomFieldContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context`, method: 'POST', - data: { + body: { description: parameters.description, id: parameters.id, issueTypeIds: parameters.issueTypeIds, @@ -110,7 +108,7 @@ export class IssueCustomFieldContexts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,21 +215,20 @@ export class IssueCustomFieldContexts { ): Promise; async getDefaultValues( parameters: Parameters.GetDefaultValues | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldId}/context/defaultValue`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,16 +327,16 @@ export class IssueCustomFieldContexts { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultValues(parameters: Parameters.SetDefaultValues, callback?: never): Promise; - async setDefaultValues(parameters: Parameters.SetDefaultValues, callback?: Callback): Promise { - const config: RequestConfig = { + async setDefaultValues(parameters: Parameters.SetDefaultValues): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/defaultValue`, method: 'PUT', - data: { + body: { defaultValues: parameters.defaultValues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -368,21 +365,20 @@ export class IssueCustomFieldContexts { ): Promise; async getIssueTypeMappingsForContexts( parameters: Parameters.GetIssueTypeMappingsForContexts | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldId}/context/issuetypemapping`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -427,21 +423,20 @@ export class IssueCustomFieldContexts { ): Promise; async getCustomFieldContextsForProjectsAndIssueTypes( parameters: Parameters.GetCustomFieldContextsForProjectsAndIssueTypes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/mapping`, method: 'POST', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, - data: { + body: { mappings: parameters.mappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -470,21 +465,20 @@ export class IssueCustomFieldContexts { ): Promise; async getProjectContextMapping( parameters: Parameters.GetProjectContextMapping | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldId}/context/projectmapping`, method: 'GET', - params: { + query: { contextId: typeof parameters !== 'string' && parameters.contextId, startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -509,20 +503,17 @@ export class IssueCustomFieldContexts { parameters: Parameters.UpdateCustomFieldContext, callback?: never, ): Promise; - async updateCustomFieldContext( - parameters: Parameters.UpdateCustomFieldContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomFieldContext(parameters: Parameters.UpdateCustomFieldContext): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -547,16 +538,13 @@ export class IssueCustomFieldContexts { parameters: Parameters.DeleteCustomFieldContext, callback?: never, ): Promise; - async deleteCustomFieldContext( - parameters: Parameters.DeleteCustomFieldContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomFieldContext(parameters: Parameters.DeleteCustomFieldContext): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -586,19 +574,16 @@ export class IssueCustomFieldContexts { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addIssueTypesToContext(parameters: Parameters.AddIssueTypesToContext, callback?: never): Promise; - async addIssueTypesToContext( - parameters: Parameters.AddIssueTypesToContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addIssueTypesToContext(parameters: Parameters.AddIssueTypesToContext): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/issuetype`, method: 'PUT', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -625,19 +610,16 @@ export class IssueCustomFieldContexts { parameters: Parameters.RemoveIssueTypesFromContext, callback?: never, ): Promise; - async removeIssueTypesFromContext( - parameters: Parameters.RemoveIssueTypesFromContext, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeIssueTypesFromContext(parameters: Parameters.RemoveIssueTypesFromContext): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/issuetype/remove`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -666,17 +648,16 @@ export class IssueCustomFieldContexts { ): Promise; async assignProjectsToCustomFieldContext( parameters: Parameters.AssignProjectsToCustomFieldContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/project`, method: 'PUT', - data: { + body: { projectIds: parameters.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -713,16 +694,15 @@ export class IssueCustomFieldContexts { ): Promise; async removeCustomFieldContextFromProjects( parameters: Parameters.RemoveCustomFieldContextFromProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/project/remove`, method: 'POST', - data: { + body: { projectIds: parameters.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldOptions.ts b/src/version3/issueCustomFieldOptions.ts index 3db14fb6f1..471cd0e0f8 100644 --- a/src/version3/issueCustomFieldOptions.ts +++ b/src/version3/issueCustomFieldOptions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldOptions { constructor(private client: Client) {} @@ -51,16 +51,15 @@ export class IssueCustomFieldOptions { ): Promise; async getCustomFieldOption( parameters: Parameters.GetCustomFieldOption | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/customFieldOption/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,12 +98,11 @@ export class IssueCustomFieldOptions { ): Promise; async getOptionsForContext( parameters: Parameters.GetOptionsForContext, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'GET', - params: { + query: { optionId: parameters.optionId, onlyOptions: parameters.onlyOptions, startAt: parameters.startAt, @@ -112,7 +110,7 @@ export class IssueCustomFieldOptions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,17 +151,16 @@ export class IssueCustomFieldOptions { ): Promise; async createCustomFieldOption( parameters: Parameters.CreateCustomFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'POST', - data: { + body: { options: parameters.options, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,17 +199,16 @@ export class IssueCustomFieldOptions { ): Promise; async updateCustomFieldOption( parameters: Parameters.UpdateCustomFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option`, method: 'PUT', - data: { + body: { options: parameters.options, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -243,21 +239,18 @@ export class IssueCustomFieldOptions { parameters: Parameters.ReorderCustomFieldOptions, callback?: never, ): Promise; - async reorderCustomFieldOptions( - parameters: Parameters.ReorderCustomFieldOptions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async reorderCustomFieldOptions(parameters: Parameters.ReorderCustomFieldOptions): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option/move`, method: 'PUT', - data: { + body: { after: parameters.after, customFieldOptionIds: parameters.customFieldOptionIds, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -289,16 +282,13 @@ export class IssueCustomFieldOptions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteCustomFieldOption(parameters: Parameters.DeleteCustomFieldOption, callback?: never): Promise; - async deleteCustomFieldOption( - parameters: Parameters.DeleteCustomFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomFieldOption(parameters: Parameters.DeleteCustomFieldOption): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option/${parameters.optionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -329,19 +319,16 @@ export class IssueCustomFieldOptions { parameters: Parameters.ReplaceCustomFieldOption, callback?: never, ): Promise; - async replaceCustomFieldOption( - parameters: Parameters.ReplaceCustomFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async replaceCustomFieldOption(parameters: Parameters.ReplaceCustomFieldOption): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}/context/${parameters.contextId}/option/${parameters.optionId}/issue`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldOptionsApps.ts b/src/version3/issueCustomFieldOptionsApps.ts index 366fa69dc4..59680ac357 100644 --- a/src/version3/issueCustomFieldOptionsApps.ts +++ b/src/version3/issueCustomFieldOptionsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldOptionsApps { constructor(private client: Client) {} @@ -45,20 +45,19 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getAllIssueFieldOptions( parameters: Parameters.GetAllIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldKey}/option`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -97,19 +96,18 @@ export class IssueCustomFieldOptionsApps { ): Promise; async createIssueFieldOption( parameters: Parameters.CreateIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldKey}/option`, method: 'POST', - data: { + body: { config: parameters.config, properties: parameters.properties, value: parameters.value, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,21 +142,20 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getSelectableIssueFieldOptions( parameters: Parameters.GetSelectableIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldKey}/option/suggestions/edit`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, projectId: typeof parameters !== 'string' && parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -193,21 +190,20 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getVisibleIssueFieldOptions( parameters: Parameters.GetVisibleIssueFieldOptions | string, - callback?: Callback, ): Promise { const fieldKey = typeof parameters === 'string' ? parameters : parameters.fieldKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldKey}/option/suggestions/search`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, projectId: typeof parameters !== 'string' && parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -242,14 +238,13 @@ export class IssueCustomFieldOptionsApps { ): Promise; async getIssueFieldOption( parameters: Parameters.GetIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -288,12 +283,11 @@ export class IssueCustomFieldOptionsApps { ): Promise; async updateIssueFieldOption( parameters: Parameters.UpdateIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'PUT', - data: { + body: { config: parameters.config, id: parameters.id, properties: parameters.properties, @@ -301,7 +295,7 @@ export class IssueCustomFieldOptionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -331,16 +325,13 @@ export class IssueCustomFieldOptionsApps { * for the app providing the field. */ async deleteIssueFieldOption(parameters: Parameters.DeleteIssueFieldOption, callback?: never): Promise; - async deleteIssueFieldOption( - parameters: Parameters.DeleteIssueFieldOption, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueFieldOption(parameters: Parameters.DeleteIssueFieldOption): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldKey}/option/${parameters.optionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -393,12 +384,11 @@ export class IssueCustomFieldOptionsApps { ): Promise; async replaceIssueFieldOption( parameters: Parameters.ReplaceIssueFieldOption, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldKey}/option/${parameters.optionId}/issue`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, jql: parameters.jql, overrideScreenSecurity: parameters.overrideScreenSecurity, @@ -406,6 +396,6 @@ export class IssueCustomFieldOptionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueCustomFieldValuesApps.ts b/src/version3/issueCustomFieldValuesApps.ts index fc98ab47c3..57b2ca3221 100644 --- a/src/version3/issueCustomFieldValuesApps.ts +++ b/src/version3/issueCustomFieldValuesApps.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueCustomFieldValuesApps { constructor(private client: Client) {} @@ -46,20 +46,19 @@ export class IssueCustomFieldValuesApps { ): Promise; async updateMultipleCustomFieldValues( parameters: Parameters.UpdateMultipleCustomFieldValues, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/app/field/value', method: 'POST', - params: { + query: { generateChangelog: parameters.generateChangelog, }, - data: { + body: { updates: parameters.updates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -95,21 +94,18 @@ export class IssueCustomFieldValuesApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updateCustomFieldValue(parameters: Parameters.UpdateCustomFieldValue, callback?: never): Promise; - async updateCustomFieldValue( - parameters: Parameters.UpdateCustomFieldValue, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomFieldValue(parameters: Parameters.UpdateCustomFieldValue): Promise { + const config: Request = { url: `/rest/api/3/app/field/${parameters.fieldIdOrKey}/value`, method: 'PUT', - params: { + query: { generateChangelog: parameters.generateChangelog, }, - data: { + body: { updates: parameters.updates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueFieldConfigurations.ts b/src/version3/issueFieldConfigurations.ts index 1f8bdf0e1c..6abe3a81c2 100644 --- a/src/version3/issueFieldConfigurations.ts +++ b/src/version3/issueFieldConfigurations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import type { Paginated } from '../paginated'; export class IssueFieldConfigurations { @@ -46,12 +46,11 @@ export class IssueFieldConfigurations { ): Promise; async getAllFieldConfigurations>( parameters?: Parameters.GetAllFieldConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfiguration', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -60,7 +59,7 @@ export class IssueFieldConfigurations { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -91,18 +90,17 @@ export class IssueFieldConfigurations { ): Promise; async createFieldConfiguration( parameters: Parameters.CreateFieldConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfiguration', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -129,20 +127,17 @@ export class IssueFieldConfigurations { parameters: Parameters.UpdateFieldConfiguration, callback?: never, ): Promise; - async updateFieldConfiguration( - parameters: Parameters.UpdateFieldConfiguration, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateFieldConfiguration(parameters: Parameters.UpdateFieldConfiguration): Promise { + const config: Request = { url: `/rest/api/3/fieldconfiguration/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -169,16 +164,13 @@ export class IssueFieldConfigurations { parameters: Parameters.DeleteFieldConfiguration, callback?: never, ): Promise; - async deleteFieldConfiguration( - parameters: Parameters.DeleteFieldConfiguration, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteFieldConfiguration(parameters: Parameters.DeleteFieldConfiguration): Promise { + const config: Request = { url: `/rest/api/3/fieldconfiguration/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -209,18 +201,17 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationItems( parameters: Parameters.GetFieldConfigurationItems, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfiguration/${parameters.id}/fields`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -259,17 +250,16 @@ export class IssueFieldConfigurations { ): Promise; async updateFieldConfigurationItems( parameters: Parameters.UpdateFieldConfigurationItems, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfiguration/${parameters.id}/fields`, method: 'PUT', - data: { + body: { fieldConfigurationItems: parameters.fieldConfigurationItems, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -300,19 +290,18 @@ export class IssueFieldConfigurations { ): Promise; async getAllFieldConfigurationSchemes( parameters?: Parameters.GetAllFieldConfigurationSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfigurationscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -341,18 +330,17 @@ export class IssueFieldConfigurations { ): Promise; async createFieldConfigurationScheme( parameters: Parameters.CreateFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfigurationscheme', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -383,19 +371,18 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationSchemeMappings( parameters?: Parameters.GetFieldConfigurationSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfigurationscheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, fieldConfigurationSchemeId: parameters?.fieldConfigurationSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -432,19 +419,18 @@ export class IssueFieldConfigurations { ): Promise; async getFieldConfigurationSchemeProjectMapping( parameters: Parameters.GetFieldConfigurationSchemeProjectMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfigurationscheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -475,18 +461,17 @@ export class IssueFieldConfigurations { ): Promise; async assignFieldConfigurationSchemeToProject( parameters?: Parameters.AssignFieldConfigurationSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/fieldconfigurationscheme/project', method: 'PUT', - data: { + body: { fieldConfigurationSchemeId: parameters?.fieldConfigurationSchemeId, projectId: parameters?.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -515,18 +500,17 @@ export class IssueFieldConfigurations { ): Promise; async updateFieldConfigurationScheme( parameters: Parameters.UpdateFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfigurationscheme/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -555,14 +539,13 @@ export class IssueFieldConfigurations { ): Promise; async deleteFieldConfigurationScheme( parameters: Parameters.DeleteFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfigurationscheme/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -591,17 +574,16 @@ export class IssueFieldConfigurations { ): Promise; async setFieldConfigurationSchemeMapping( parameters: Parameters.SetFieldConfigurationSchemeMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfigurationscheme/${parameters.id}/mapping`, method: 'PUT', - data: { + body: { mappings: parameters.mappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -630,16 +612,15 @@ export class IssueFieldConfigurations { ): Promise; async removeIssueTypesFromGlobalFieldConfigurationScheme( parameters: Parameters.RemoveIssueTypesFromGlobalFieldConfigurationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/fieldconfigurationscheme/${parameters.id}/mapping/delete`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueFields.ts b/src/version3/issueFields.ts index 72dae44cb3..a28a9ee415 100644 --- a/src/version3/issueFields.ts +++ b/src/version3/issueFields.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueFields { constructor(private client: Client) {} @@ -39,13 +39,13 @@ export class IssueFields { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getFields(callback?: never): Promise; - async getFields(callback?: Callback): Promise { - const config: RequestConfig = { + async getFields(): Promise { + const config: Request = { url: '/rest/api/3/field', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -68,14 +68,11 @@ export class IssueFields { parameters: Parameters.CreateCustomField, callback?: never, ): Promise; - async createCustomField( - parameters: Parameters.CreateCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createCustomField(parameters: Parameters.CreateCustomField): Promise { + const config: Request = { url: '/rest/api/3/field', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, searcherKey: parameters.searcherKey, @@ -83,7 +80,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,14 +119,11 @@ export class IssueFields { parameters?: Parameters.GetFieldsPaginated, callback?: never, ): Promise; - async getFieldsPaginated( - parameters?: Parameters.GetFieldsPaginated, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFieldsPaginated(parameters?: Parameters.GetFieldsPaginated): Promise { + const config: Request = { url: '/rest/api/3/field/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, type: parameters?.type, @@ -141,7 +135,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -172,12 +166,11 @@ export class IssueFields { ): Promise; async getTrashedFieldsPaginated( parameters?: Parameters.GetTrashedFieldsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/field/search/trashed', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -187,7 +180,7 @@ export class IssueFields { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -204,21 +197,18 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateCustomField(parameters: Parameters.UpdateCustomField, callback?: never): Promise; - async updateCustomField( - parameters: Parameters.UpdateCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateCustomField(parameters: Parameters.UpdateCustomField): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.fieldId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, searcherKey: parameters.searcherKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -247,16 +237,13 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteCustomField(parameters: Parameters.DeleteCustomField, callback?: never): Promise; - async deleteCustomField( - parameters: Parameters.DeleteCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteCustomField(parameters: Parameters.DeleteCustomField): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,16 +265,13 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async restoreCustomField(parameters: Parameters.RestoreCustomField, callback?: never): Promise; - async restoreCustomField( - parameters: Parameters.RestoreCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async restoreCustomField(parameters: Parameters.RestoreCustomField): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.id}/restore`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,15 +290,12 @@ export class IssueFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async trashCustomField(parameters: Parameters.TrashCustomField, callback?: never): Promise; - async trashCustomField( - parameters: Parameters.TrashCustomField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async trashCustomField(parameters: Parameters.TrashCustomField): Promise { + const config: Request = { url: `/rest/api/3/field/${parameters.id}/trash`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueLinkTypes.ts b/src/version3/issueLinkTypes.ts index 06ae1dfad0..2d6bcbf816 100644 --- a/src/version3/issueLinkTypes.ts +++ b/src/version3/issueLinkTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueLinkTypes { constructor(private client: Client) {} @@ -29,13 +29,13 @@ export class IssueLinkTypes { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site. */ async getIssueLinkTypes(callback?: never): Promise; - async getIssueLinkTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueLinkTypes(): Promise { + const config: Request = { url: '/rest/api/3/issueLinkType', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -64,14 +64,11 @@ export class IssueLinkTypes { parameters: Parameters.CreateIssueLinkType, callback?: never, ): Promise; - async createIssueLinkType( - parameters: Parameters.CreateIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueLinkType(parameters: Parameters.CreateIssueLinkType): Promise { + const config: Request = { url: '/rest/api/3/issueLinkType', method: 'POST', - data: { + body: { id: parameters.id, inward: parameters.inward, name: parameters.name, @@ -80,7 +77,7 @@ export class IssueLinkTypes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -111,16 +108,13 @@ export class IssueLinkTypes { parameters: Parameters.GetIssueLinkType, callback?: never, ): Promise; - async getIssueLinkType( - parameters: Parameters.GetIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueLinkType(parameters: Parameters.GetIssueLinkType): Promise { + const config: Request = { url: `/rest/api/3/issueLinkType/${parameters.issueLinkTypeId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -147,14 +141,11 @@ export class IssueLinkTypes { parameters: Parameters.UpdateIssueLinkType, callback?: never, ): Promise; - async updateIssueLinkType( - parameters: Parameters.UpdateIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueLinkType(parameters: Parameters.UpdateIssueLinkType): Promise { + const config: Request = { url: `/rest/api/3/issueLinkType/${parameters.issueLinkTypeId}`, method: 'PUT', - data: { + body: { id: parameters.id, inward: parameters.inward, name: parameters.name, @@ -163,7 +154,7 @@ export class IssueLinkTypes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -184,15 +175,12 @@ export class IssueLinkTypes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueLinkType(parameters: Parameters.DeleteIssueLinkType, callback?: never): Promise; - async deleteIssueLinkType( - parameters: Parameters.DeleteIssueLinkType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueLinkType(parameters: Parameters.DeleteIssueLinkType): Promise { + const config: Request = { url: `/rest/api/3/issueLinkType/${parameters.issueLinkTypeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueLinks.ts b/src/version3/issueLinks.ts index b176174cb5..ae9f287475 100644 --- a/src/version3/issueLinks.ts +++ b/src/version3/issueLinks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueLinks { constructor(private client: Client) {} @@ -55,11 +55,11 @@ export class IssueLinks { * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async linkIssues(parameters: Parameters.LinkIssues, callback?: never): Promise; - async linkIssues(parameters: Parameters.LinkIssues, callback?: Callback): Promise { - const config: RequestConfig = { + async linkIssues(parameters: Parameters.LinkIssues): Promise { + const config: Request = { url: '/rest/api/3/issueLink', method: 'POST', - data: { + body: { comment: parameters.comment, inwardIssue: parameters.inwardIssue, outwardIssue: parameters.outwardIssue, @@ -67,7 +67,7 @@ export class IssueLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -96,16 +96,13 @@ export class IssueLinks { * issues. */ async getIssueLink(parameters: Parameters.GetIssueLink, callback?: never): Promise; - async getIssueLink( - parameters: Parameters.GetIssueLink, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueLink(parameters: Parameters.GetIssueLink): Promise { + const config: Request = { url: `/rest/api/3/issueLink/${parameters.linkId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -138,12 +135,12 @@ export class IssueLinks { * issues. */ async deleteIssueLink(parameters: Parameters.DeleteIssueLink, callback?: never): Promise; - async deleteIssueLink(parameters: Parameters.DeleteIssueLink, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteIssueLink(parameters: Parameters.DeleteIssueLink): Promise { + const config: Request = { url: `/rest/api/3/issueLink/${parameters.linkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueNavigatorSettings.ts b/src/version3/issueNavigatorSettings.ts index 3adfb08d21..4b934965b2 100644 --- a/src/version3/issueNavigatorSettings.ts +++ b/src/version3/issueNavigatorSettings.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueNavigatorSettings { constructor(private client: Client) {} @@ -20,13 +20,13 @@ export class IssueNavigatorSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getIssueNavigatorDefaultColumns(callback?: never): Promise; - async getIssueNavigatorDefaultColumns(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueNavigatorDefaultColumns(): Promise { + const config: Request = { url: '/rest/api/3/settings/columns', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -65,12 +65,12 @@ export class IssueNavigatorSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setIssueNavigatorDefaultColumns(callback?: never): Promise; - async setIssueNavigatorDefaultColumns(callback?: Callback): Promise { - const config: RequestConfig = { + async setIssueNavigatorDefaultColumns(): Promise { + const config: Request = { url: '/rest/api/3/settings/columns', method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueNotificationSchemes.ts b/src/version3/issueNotificationSchemes.ts index aaff1ecc94..71b608253d 100644 --- a/src/version3/issueNotificationSchemes.ts +++ b/src/version3/issueNotificationSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueNotificationSchemes { constructor(private client: Client) {} @@ -37,12 +37,11 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationSchemes( parameters?: Parameters.GetNotificationSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/notificationscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -52,7 +51,7 @@ export class IssueNotificationSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,19 +76,18 @@ export class IssueNotificationSchemes { ): Promise; async createNotificationScheme( parameters: Parameters.CreateNotificationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/notificationscheme', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, notificationSchemeEvents: parameters.notificationSchemeEvents, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,12 +120,11 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationSchemeToProjectMappings( parameters?: Parameters.GetNotificationSchemeToProjectMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/notificationscheme/project', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, notificationSchemeId: parameters?.notificationSchemeId, @@ -135,7 +132,7 @@ export class IssueNotificationSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -164,19 +161,18 @@ export class IssueNotificationSchemes { ): Promise; async getNotificationScheme( parameters: Parameters.GetNotificationScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/notificationscheme/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,20 +195,17 @@ export class IssueNotificationSchemes { parameters: Parameters.UpdateNotificationScheme, callback?: never, ): Promise; - async updateNotificationScheme( - parameters: Parameters.UpdateNotificationScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateNotificationScheme(parameters: Parameters.UpdateNotificationScheme): Promise { + const config: Request = { url: `/rest/api/3/notificationscheme/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -235,16 +228,16 @@ export class IssueNotificationSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addNotifications(parameters: Parameters.AddNotifications, callback?: never): Promise; - async addNotifications(parameters: Parameters.AddNotifications, callback?: Callback): Promise { - const config: RequestConfig = { + async addNotifications(parameters: Parameters.AddNotifications): Promise { + const config: Request = { url: `/rest/api/3/notificationscheme/${parameters.id}/notification`, method: 'PUT', - data: { + body: { notificationSchemeEvents: parameters.notificationSchemeEvents, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -267,16 +260,13 @@ export class IssueNotificationSchemes { parameters: Parameters.DeleteNotificationScheme, callback?: never, ): Promise; - async deleteNotificationScheme( - parameters: Parameters.DeleteNotificationScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteNotificationScheme(parameters: Parameters.DeleteNotificationScheme): Promise { + const config: Request = { url: `/rest/api/3/notificationscheme/${parameters.notificationSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -301,13 +291,12 @@ export class IssueNotificationSchemes { ): Promise; async removeNotificationFromNotificationScheme( parameters: Parameters.RemoveNotificationFromNotificationScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/notificationscheme/${parameters.notificationSchemeId}/notification/${parameters.notificationId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issuePriorities.ts b/src/version3/issuePriorities.ts index d9e28518e9..2a8239c63c 100644 --- a/src/version3/issuePriorities.ts +++ b/src/version3/issuePriorities.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssuePriorities { constructor(private client: Client) {} @@ -22,13 +22,13 @@ export class IssuePriorities { * Permission to access Jira. */ async getPriorities(callback?: never): Promise; - async getPriorities(callback?: Callback): Promise { - const config: RequestConfig = { + async getPriorities(): Promise { + const config: Request = { url: '/rest/api/3/priority', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,14 +54,11 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPriority(parameters: Parameters.CreatePriority, callback?: never): Promise; - async createPriority( - parameters: Parameters.CreatePriority, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createPriority(parameters: Parameters.CreatePriority): Promise { + const config: Request = { url: '/rest/api/3/priority', method: 'POST', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, iconUrl: parameters.iconUrl, @@ -70,7 +67,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,19 +87,16 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultPriority(parameters?: Parameters.SetDefaultPriority, callback?: never): Promise; - async setDefaultPriority( - parameters?: Parameters.SetDefaultPriority, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDefaultPriority(parameters?: Parameters.SetDefaultPriority): Promise { + const config: Request = { url: '/rest/api/3/priority/default', method: 'PUT', - data: { + body: { id: parameters?.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -119,18 +113,18 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async movePriorities(parameters: Parameters.MovePriorities, callback?: never): Promise; - async movePriorities(parameters: Parameters.MovePriorities, callback?: Callback): Promise { - const config: RequestConfig = { + async movePriorities(parameters: Parameters.MovePriorities): Promise { + const config: Request = { url: '/rest/api/3/priority/move', method: 'PUT', - data: { + body: { after: parameters.after, ids: parameters.ids, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -167,14 +161,11 @@ export class IssuePriorities { parameters?: Parameters.SearchPriorities, callback?: never, ): Promise; - async searchPriorities( - parameters?: Parameters.SearchPriorities, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchPriorities(parameters?: Parameters.SearchPriorities): Promise { + const config: Request = { url: '/rest/api/3/priority/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -185,7 +176,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,16 +193,13 @@ export class IssuePriorities { * Permission to access Jira. */ async getPriority(parameters: Parameters.GetPriority, callback?: never): Promise; - async getPriority( - parameters: Parameters.GetPriority, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPriority(parameters: Parameters.GetPriority): Promise { + const config: Request = { url: `/rest/api/3/priority/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,11 +226,11 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updatePriority(parameters: Parameters.UpdatePriority, callback?: never): Promise; - async updatePriority(parameters: Parameters.UpdatePriority, callback?: Callback): Promise { - const config: RequestConfig = { + async updatePriority(parameters: Parameters.UpdatePriority): Promise { + const config: Request = { url: `/rest/api/3/priority/${parameters.id}`, method: 'PUT', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, iconUrl: parameters.iconUrl, @@ -251,7 +239,7 @@ export class IssuePriorities { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,12 +266,12 @@ export class IssuePriorities { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePriority(parameters: Parameters.DeletePriority, callback?: never): Promise; - async deletePriority(parameters: Parameters.DeletePriority, callback?: Callback): Promise { - const config: RequestConfig = { + async deletePriority(parameters: Parameters.DeletePriority): Promise { + const config: Request = { url: `/rest/api/3/priority/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueProperties.ts b/src/version3/issueProperties.ts index 873d1a8b43..08b80897ad 100644 --- a/src/version3/issueProperties.ts +++ b/src/version3/issueProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueProperties { constructor(private client: Client) {} @@ -59,20 +59,17 @@ export class IssueProperties { parameters?: Parameters.BulkSetIssuesProperties, callback?: never, ): Promise; - async bulkSetIssuesProperties( - parameters?: Parameters.BulkSetIssuesProperties, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkSetIssuesProperties(parameters?: Parameters.BulkSetIssuesProperties): Promise { + const config: Request = { url: '/rest/api/3/issue/properties', method: 'POST', - data: { + body: { entitiesIds: parameters?.entitiesIds, properties: parameters?.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -125,17 +122,16 @@ export class IssueProperties { ): Promise; async bulkSetIssuePropertiesByIssue( parameters?: Parameters.BulkSetIssuePropertiesByIssue, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue/properties/multi', method: 'POST', - data: { + body: { issues: parameters?.issues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -233,21 +229,18 @@ export class IssueProperties { * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. */ async bulkSetIssueProperty(parameters: Parameters.BulkSetIssueProperty, callback?: never): Promise; - async bulkSetIssueProperty( - parameters: Parameters.BulkSetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkSetIssueProperty(parameters: Parameters.BulkSetIssueProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/properties/${parameters.propertyKey}`, method: 'PUT', - data: { + body: { expression: parameters.expression, filter: parameters.filter, value: parameters.value, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -318,20 +311,17 @@ export class IssueProperties { parameters: Parameters.BulkDeleteIssueProperty, callback?: never, ): Promise; - async bulkDeleteIssueProperty( - parameters: Parameters.BulkDeleteIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkDeleteIssueProperty(parameters: Parameters.BulkDeleteIssueProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/properties/${parameters.propertyKey}`, method: 'DELETE', - data: { + body: { currentValue: parameters.currentValue, entityIds: parameters.entityIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -368,16 +358,13 @@ export class IssueProperties { parameters: Parameters.GetIssuePropertyKeys, callback?: never, ): Promise; - async getIssuePropertyKeys( - parameters: Parameters.GetIssuePropertyKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssuePropertyKeys(parameters: Parameters.GetIssuePropertyKeys): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -412,16 +399,13 @@ export class IssueProperties { parameters: Parameters.GetIssueProperty, callback?: never, ): Promise; - async getIssueProperty( - parameters: Parameters.GetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueProperty(parameters: Parameters.GetIssueProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -456,17 +440,14 @@ export class IssueProperties { * to view the issue. */ async setIssueProperty(parameters: Parameters.SetIssueProperty, callback?: never): Promise; - async setIssueProperty( - parameters: Parameters.SetIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setIssueProperty(parameters: Parameters.SetIssueProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -495,15 +476,12 @@ export class IssueProperties { * to view the issue. */ async deleteIssueProperty(parameters: Parameters.DeleteIssueProperty, callback?: never): Promise; - async deleteIssueProperty( - parameters: Parameters.DeleteIssueProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueProperty(parameters: Parameters.DeleteIssueProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueRemoteLinks.ts b/src/version3/issueRemoteLinks.ts index fb25e4aacd..ba9d472f0b 100644 --- a/src/version3/issueRemoteLinks.ts +++ b/src/version3/issueRemoteLinks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueRemoteLinks { constructor(private client: Client) {} @@ -51,17 +51,16 @@ export class IssueRemoteLinks { ): Promise; async getRemoteIssueLinks( parameters: Parameters.GetRemoteIssueLinks, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink`, method: 'GET', - params: { + query: { globalId: parameters.globalId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -108,12 +107,11 @@ export class IssueRemoteLinks { ): Promise; async createOrUpdateRemoteIssueLink( parameters: Parameters.CreateOrUpdateRemoteIssueLink, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink`, method: 'POST', - data: { + body: { application: parameters.application, globalId: parameters.globalId, object: parameters.object, @@ -121,7 +119,7 @@ export class IssueRemoteLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -166,17 +164,16 @@ export class IssueRemoteLinks { ): Promise; async deleteRemoteIssueLinkByGlobalId( parameters: Parameters.DeleteRemoteIssueLinkByGlobalId, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink`, method: 'DELETE', - params: { + query: { globalId: parameters.globalId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,14 +214,13 @@ export class IssueRemoteLinks { ): Promise; async getRemoteIssueLinkById( parameters: Parameters.GetRemoteIssueLinkById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -264,14 +260,11 @@ export class IssueRemoteLinks { * to view the issue. */ async updateRemoteIssueLink(parameters: Parameters.UpdateRemoteIssueLink, callback?: never): Promise; - async updateRemoteIssueLink( - parameters: Parameters.UpdateRemoteIssueLink, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateRemoteIssueLink(parameters: Parameters.UpdateRemoteIssueLink): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'PUT', - data: { + body: { application: parameters.application, globalId: parameters.globalId, object: parameters.object, @@ -279,7 +272,7 @@ export class IssueRemoteLinks { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -318,15 +311,12 @@ export class IssueRemoteLinks { parameters: Parameters.DeleteRemoteIssueLinkById, callback?: never, ): Promise; - async deleteRemoteIssueLinkById( - parameters: Parameters.DeleteRemoteIssueLinkById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRemoteIssueLinkById(parameters: Parameters.DeleteRemoteIssueLinkById): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/remotelink/${parameters.linkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueResolutions.ts b/src/version3/issueResolutions.ts index 07e9faf7ee..bcdf973d1d 100644 --- a/src/version3/issueResolutions.ts +++ b/src/version3/issueResolutions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueResolutions { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class IssueResolutions { * Permission to access Jira. */ async getResolutions(callback?: never): Promise; - async getResolutions(callback?: Callback): Promise { - const config: RequestConfig = { + async getResolutions(): Promise { + const config: Request = { url: '/rest/api/3/resolution', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -50,17 +50,14 @@ export class IssueResolutions { parameters: Parameters.CreateResolution, callback?: never, ): Promise; - async createResolution( - parameters: Parameters.CreateResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createResolution(parameters: Parameters.CreateResolution): Promise { + const config: Request = { url: '/rest/api/3/resolution', method: 'POST', - data: parameters, + body: parameters, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -80,19 +77,16 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setDefaultResolution(parameters: Parameters.SetDefaultResolution, callback?: never): Promise; - async setDefaultResolution( - parameters: Parameters.SetDefaultResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setDefaultResolution(parameters: Parameters.SetDefaultResolution): Promise { + const config: Request = { url: '/rest/api/3/resolution/default', method: 'PUT', - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,18 +103,18 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveResolutions(parameters: Parameters.MoveResolutions, callback?: never): Promise; - async moveResolutions(parameters: Parameters.MoveResolutions, callback?: Callback): Promise { - const config: RequestConfig = { + async moveResolutions(parameters: Parameters.MoveResolutions): Promise { + const config: Request = { url: '/rest/api/3/resolution/move', method: 'PUT', - data: { + body: { after: parameters.after, ids: parameters.ids, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,14 +147,11 @@ export class IssueResolutions { parameters?: Parameters.SearchResolutions, callback?: never, ): Promise; - async searchResolutions( - parameters?: Parameters.SearchResolutions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchResolutions(parameters?: Parameters.SearchResolutions): Promise { + const config: Request = { url: '/rest/api/3/resolution/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -168,7 +159,7 @@ export class IssueResolutions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -188,16 +179,13 @@ export class IssueResolutions { * Permission to access Jira. */ async getResolution(parameters: Parameters.GetResolution, callback?: never): Promise; - async getResolution( - parameters: Parameters.GetResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getResolution(parameters: Parameters.GetResolution): Promise { + const config: Request = { url: `/rest/api/3/resolution/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -214,11 +202,11 @@ export class IssueResolutions { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateResolution(parameters: Parameters.UpdateResolution, callback?: never): Promise; - async updateResolution(parameters: Parameters.UpdateResolution, callback?: Callback): Promise { - const config: RequestConfig = { + async updateResolution(parameters: Parameters.UpdateResolution): Promise { + const config: Request = { url: `/rest/api/3/resolution/${parameters.id}`, method: 'PUT', - data: { + body: { ...parameters, name: parameters.name, description: parameters.description, @@ -226,7 +214,7 @@ export class IssueResolutions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -259,18 +247,15 @@ export class IssueResolutions { parameters: Parameters.DeleteResolution, callback?: never, ): Promise; - async deleteResolution( - parameters: Parameters.DeleteResolution, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteResolution(parameters: Parameters.DeleteResolution): Promise { + const config: Request = { url: `/rest/api/3/resolution/${parameters.id}`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueSearch.ts b/src/version3/issueSearch.ts index bb89e5204f..12d96b496a 100644 --- a/src/version3/issueSearch.ts +++ b/src/version3/issueSearch.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSearch { constructor(private client: Client) {} @@ -47,12 +47,11 @@ export class IssueSearch { ): Promise; async getIssuePickerResource( parameters?: Parameters.GetIssuePickerResource, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue/picker', method: 'GET', - params: { + query: { query: parameters?.query, currentJQL: parameters?.currentJQL, currentIssueKey: parameters?.currentIssueKey, @@ -62,7 +61,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -89,20 +88,17 @@ export class IssueSearch { * to view the issue. */ async matchIssues(parameters: Parameters.MatchIssues, callback?: never): Promise; - async matchIssues( - parameters: Parameters.MatchIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async matchIssues(parameters: Parameters.MatchIssues): Promise { + const config: Request = { url: '/rest/api/3/jql/match', method: 'POST', - data: { + body: { issueIds: parameters.issueIds, jqls: parameters.jqls, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,12 +149,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJql( parameters: Parameters.SearchForIssuesUsingJql, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/search', method: 'GET', - params: { + query: { jql: parameters.jql, startAt: parameters.startAt, maxResults: parameters.maxResults, @@ -171,7 +166,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -222,12 +217,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlPost( parameters?: Parameters.SearchForIssuesUsingJqlPost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/search', method: 'POST', - data: { + body: { expand: parameters?.expand, fields: parameters?.fields, fieldsByKeys: parameters?.fieldsByKeys, @@ -239,7 +233,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -272,19 +266,16 @@ export class IssueSearch { * to view the issue. */ async countIssues(parameters: Parameters.CountIssues, callback?: never): Promise; - async countIssues( - parameters: Parameters.CountIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async countIssues(parameters: Parameters.CountIssues): Promise { + const config: Request = { url: '/rest/api/3/search/approximate-count', method: 'POST', - data: { + body: { jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -335,21 +326,18 @@ export class IssueSearch { parameters: Parameters.SearchForIssuesIds, callback?: never, ): Promise; - async searchForIssuesIds( - parameters: Parameters.SearchForIssuesIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchForIssuesIds(parameters: Parameters.SearchForIssuesIds): Promise { + const config: Request = { url: '/rest/api/3/search/id', method: 'POST', - data: { + body: { jql: parameters.jql, maxResults: parameters.maxResults, nextPageToken: parameters.nextPageToken, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -398,12 +386,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlEnhancedSearch( parameters: Parameters.SearchForIssuesUsingJqlEnhancedSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/search/jql', method: 'GET', - params: { + query: { jql: parameters.jql, nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, @@ -416,7 +403,7 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -459,12 +446,11 @@ export class IssueSearch { ): Promise; async searchForIssuesUsingJqlEnhancedSearchPost( parameters: Parameters.SearchForIssuesUsingJqlEnhancedSearchPost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/search/jql', method: 'POST', - data: { + body: { expand: parameters.expand, fields: parameters.fields, fieldsByKeys: parameters.fieldsByKeys, @@ -476,6 +462,6 @@ export class IssueSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueSecurityLevel.ts b/src/version3/issueSecurityLevel.ts index 1a74ad55b6..85a4dd1cf7 100644 --- a/src/version3/issueSecurityLevel.ts +++ b/src/version3/issueSecurityLevel.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSecurityLevel { constructor(private client: Client) {} @@ -33,12 +33,11 @@ export class IssueSecurityLevel { ): Promise; async getIssueSecurityLevelMembers( parameters: Parameters.GetIssueSecurityLevelMembers, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.issueSecuritySchemeId}/members`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, issueSecurityLevelId: parameters.issueSecurityLevelId, @@ -46,7 +45,7 @@ export class IssueSecurityLevel { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,13 +78,12 @@ export class IssueSecurityLevel { ): Promise; async getIssueSecurityLevel( parameters: Parameters.GetIssueSecurityLevel, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/securitylevel/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueSecuritySchemes.ts b/src/version3/issueSecuritySchemes.ts index 650442a659..15bf98878d 100644 --- a/src/version3/issueSecuritySchemes.ts +++ b/src/version3/issueSecuritySchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueSecuritySchemes { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class IssueSecuritySchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getIssueSecuritySchemes(callback?: never): Promise; - async getIssueSecuritySchemes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueSecuritySchemes(): Promise { + const config: Request = { url: '/rest/api/3/issuesecurityschemes', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,19 +54,18 @@ export class IssueSecuritySchemes { ): Promise; async createIssueSecurityScheme( parameters: Parameters.CreateIssueSecurityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuesecurityschemes', method: 'POST', - data: { + body: { description: parameters.description, levels: parameters.levels, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -101,14 +100,11 @@ export class IssueSecuritySchemes { parameters?: Parameters.GetSecurityLevels, callback?: never, ): Promise; - async getSecurityLevels( - parameters?: Parameters.GetSecurityLevels, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSecurityLevels(parameters?: Parameters.GetSecurityLevels): Promise { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/level', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -117,7 +113,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -137,19 +133,16 @@ export class IssueSecuritySchemes { * _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 = { + async setDefaultLevels(parameters?: Parameters.SetDefaultLevels): Promise { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/level/default', method: 'PUT', - data: { + body: { defaultValues: parameters?.defaultValues, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -186,12 +179,11 @@ export class IssueSecuritySchemes { ): Promise; async getSecurityLevelMembers( parameters?: Parameters.GetSecurityLevelMembers, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/level/member', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -201,7 +193,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -230,12 +222,11 @@ export class IssueSecuritySchemes { ): Promise; async searchProjectsUsingSecuritySchemes( parameters?: Parameters.SearchProjectsUsingSecuritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/project', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueSecuritySchemeId: parameters?.issueSecuritySchemeId, @@ -243,7 +234,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -280,19 +271,18 @@ export class IssueSecuritySchemes { ): Promise; async associateSchemesToProjects( parameters: Parameters.AssociateSchemesToProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/project', method: 'PUT', - data: { + body: { oldToNewSecurityLevelMappings: parameters.oldToNewSecurityLevelMappings, projectId: parameters.projectId, schemeId: parameters.schemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -329,12 +319,11 @@ export class IssueSecuritySchemes { ): Promise; async searchSecuritySchemes( parameters?: Parameters.SearchSecuritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuesecurityschemes/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -342,7 +331,7 @@ export class IssueSecuritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -373,14 +362,13 @@ export class IssueSecuritySchemes { ): Promise; async getIssueSecurityScheme( parameters: Parameters.GetIssueSecurityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -403,20 +391,17 @@ export class IssueSecuritySchemes { parameters: Parameters.UpdateIssueSecurityScheme, callback?: never, ): Promise; - async updateIssueSecurityScheme( - parameters: Parameters.UpdateIssueSecurityScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueSecurityScheme(parameters: Parameters.UpdateIssueSecurityScheme): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -436,16 +421,13 @@ export class IssueSecuritySchemes { * _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 = { + async deleteSecurityScheme(parameters: Parameters.DeleteSecurityScheme): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -462,16 +444,16 @@ export class IssueSecuritySchemes { * _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 = { + async addSecurityLevel(parameters: Parameters.AddSecurityLevel): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level`, method: 'PUT', - data: { + body: { levels: parameters.levels, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -488,20 +470,17 @@ export class IssueSecuritySchemes { * _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 = { + async updateSecurityLevel(parameters: Parameters.UpdateSecurityLevel): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -528,16 +507,16 @@ export class IssueSecuritySchemes { * _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 = { + async removeLevel(parameters: Parameters.RemoveLevel): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}`, method: 'DELETE', - params: { + query: { replaceWith: parameters.replaceWith, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -557,19 +536,16 @@ export class IssueSecuritySchemes { * _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 = { + async addSecurityLevelMembers(parameters: Parameters.AddSecurityLevelMembers): Promise { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member`, method: 'PUT', - data: { + body: { members: parameters.members, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -594,13 +570,12 @@ export class IssueSecuritySchemes { ): Promise; async removeMemberFromSecurityLevel( parameters: Parameters.RemoveMemberFromSecurityLevel, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuesecurityschemes/${parameters.schemeId}/level/${parameters.levelId}/member/${parameters.memberId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueTypeProperties.ts b/src/version3/issueTypeProperties.ts index aac8ad4a49..c7a15deba8 100644 --- a/src/version3/issueTypeProperties.ts +++ b/src/version3/issueTypeProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeProperties { constructor(private client: Client) {} @@ -45,14 +45,13 @@ export class IssueTypeProperties { ): Promise; async getIssueTypePropertyKeys( parameters: Parameters.GetIssueTypePropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.issueTypeId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -91,14 +90,13 @@ export class IssueTypeProperties { ): Promise; async getIssueTypeProperty( parameters: Parameters.GetIssueTypeProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -128,16 +126,13 @@ export class IssueTypeProperties { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setIssueTypeProperty(parameters: Parameters.SetIssueTypeProperty, callback?: never): Promise; - async setIssueTypeProperty( - parameters: Parameters.SetIssueTypeProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setIssueTypeProperty(parameters: Parameters.SetIssueTypeProperty): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -159,15 +154,12 @@ export class IssueTypeProperties { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueTypeProperty(parameters: Parameters.DeleteIssueTypeProperty, callback?: never): Promise; - async deleteIssueTypeProperty( - parameters: Parameters.DeleteIssueTypeProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueTypeProperty(parameters: Parameters.DeleteIssueTypeProperty): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.issueTypeId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueTypeSchemes.ts b/src/version3/issueTypeSchemes.ts index 5a20d5f700..6b0ad9ebab 100644 --- a/src/version3/issueTypeSchemes.ts +++ b/src/version3/issueTypeSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeSchemes { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class IssueTypeSchemes { ): Promise; async getAllIssueTypeSchemes( parameters?: Parameters.GetAllIssueTypeSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +49,7 @@ export class IssueTypeSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,12 +74,11 @@ export class IssueTypeSchemes { ): Promise; async createIssueTypeScheme( parameters: Parameters.CreateIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescheme', method: 'POST', - data: { + body: { defaultIssueTypeId: parameters.defaultIssueTypeId, description: parameters.description, issueTypeIds: parameters.issueTypeIds, @@ -88,7 +86,7 @@ export class IssueTypeSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -119,19 +117,18 @@ export class IssueTypeSchemes { ): Promise; async getIssueTypeSchemesMapping( parameters?: Parameters.GetIssueTypeSchemesMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueTypeSchemeId: parameters?.issueTypeSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -162,19 +159,18 @@ export class IssueTypeSchemes { ): Promise; async getIssueTypeSchemeForProjects( parameters: Parameters.GetIssueTypeSchemeForProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -209,18 +205,17 @@ export class IssueTypeSchemes { ): Promise; async assignIssueTypeSchemeToProject( parameters: Parameters.AssignIssueTypeSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescheme/project', method: 'PUT', - data: { + body: { issueTypeSchemeId: parameters.issueTypeSchemeId, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -240,21 +235,18 @@ export class IssueTypeSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateIssueTypeScheme(parameters: Parameters.UpdateIssueTypeScheme, callback?: never): Promise; - async updateIssueTypeScheme( - parameters: Parameters.UpdateIssueTypeScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueTypeScheme(parameters: Parameters.UpdateIssueTypeScheme): Promise { + const config: Request = { url: `/rest/api/3/issuetypescheme/${parameters.issueTypeSchemeId}`, method: 'PUT', - data: { + body: { defaultIssueTypeId: parameters.defaultIssueTypeId, description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -282,16 +274,13 @@ export class IssueTypeSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueTypeScheme(parameters: Parameters.DeleteIssueTypeScheme, callback?: never): Promise; - async deleteIssueTypeScheme( - parameters: Parameters.DeleteIssueTypeScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueTypeScheme(parameters: Parameters.DeleteIssueTypeScheme): Promise { + const config: Request = { url: `/rest/api/3/issuetypescheme/${parameters.issueTypeSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -324,17 +313,16 @@ export class IssueTypeSchemes { ): Promise; async addIssueTypesToIssueTypeScheme( parameters: Parameters.AddIssueTypesToIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype`, method: 'PUT', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -371,19 +359,18 @@ export class IssueTypeSchemes { ): Promise; async reorderIssueTypesInIssueTypeScheme( parameters: Parameters.ReorderIssueTypesInIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype/move`, method: 'PUT', - data: { + body: { after: parameters.after, issueTypeIds: parameters.issueTypeIds, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -420,13 +407,12 @@ export class IssueTypeSchemes { ): Promise; async removeIssueTypeFromIssueTypeScheme( parameters: Parameters.RemoveIssueTypeFromIssueTypeScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescheme/${parameters.issueTypeSchemeId}/issuetype/${parameters.issueTypeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueTypeScreenSchemes.ts b/src/version3/issueTypeScreenSchemes.ts index 25e72e97c6..34f416121a 100644 --- a/src/version3/issueTypeScreenSchemes.ts +++ b/src/version3/issueTypeScreenSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypeScreenSchemes { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemes( parameters?: Parameters.GetIssueTypeScreenSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescreenscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +49,7 @@ export class IssueTypeScreenSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,19 +74,18 @@ export class IssueTypeScreenSchemes { ): Promise; async createIssueTypeScreenScheme( parameters: Parameters.CreateIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescreenscheme', method: 'POST', - data: { + body: { description: parameters.description, issueTypeMappings: parameters.issueTypeMappings, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,19 +116,18 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemeMappings( parameters?: Parameters.GetIssueTypeScreenSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescreenscheme/mapping', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, issueTypeScreenSchemeId: parameters?.issueTypeScreenSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -161,19 +158,18 @@ export class IssueTypeScreenSchemes { ): Promise; async getIssueTypeScreenSchemeProjectAssociations( parameters: Parameters.GetIssueTypeScreenSchemeProjectAssociations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescreenscheme/project', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -202,18 +198,17 @@ export class IssueTypeScreenSchemes { ): Promise; async assignIssueTypeScreenSchemeToProject( parameters?: Parameters.AssignIssueTypeScreenSchemeToProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetypescreenscheme/project', method: 'PUT', - data: { + body: { issueTypeScreenSchemeId: parameters?.issueTypeScreenSchemeId, projectId: parameters?.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -236,20 +231,17 @@ export class IssueTypeScreenSchemes { parameters: Parameters.UpdateIssueTypeScreenScheme, callback?: never, ): Promise; - async updateIssueTypeScreenScheme( - parameters: Parameters.UpdateIssueTypeScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueTypeScreenScheme(parameters: Parameters.UpdateIssueTypeScreenScheme): Promise { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -272,16 +264,13 @@ export class IssueTypeScreenSchemes { parameters: Parameters.DeleteIssueTypeScreenScheme, callback?: never, ): Promise; - async deleteIssueTypeScreenScheme( - parameters: Parameters.DeleteIssueTypeScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteIssueTypeScreenScheme(parameters: Parameters.DeleteIssueTypeScreenScheme): Promise { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,17 +295,16 @@ export class IssueTypeScreenSchemes { ): Promise; async appendMappingsForIssueTypeScreenScheme( parameters: Parameters.AppendMappingsForIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping`, method: 'PUT', - data: { + body: { issueTypeMappings: parameters.issueTypeMappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -341,19 +329,16 @@ export class IssueTypeScreenSchemes { parameters: Parameters.UpdateDefaultScreenScheme, callback?: never, ): Promise; - async updateDefaultScreenScheme( - parameters: Parameters.UpdateDefaultScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateDefaultScreenScheme(parameters: Parameters.UpdateDefaultScreenScheme): Promise { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping/default`, method: 'PUT', - data: { + body: { screenSchemeId: parameters.screenSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -378,17 +363,16 @@ export class IssueTypeScreenSchemes { ): Promise; async removeMappingsFromIssueTypeScreenScheme( parameters: Parameters.RemoveMappingsFromIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/mapping/remove`, method: 'POST', - data: { + body: { issueTypeIds: parameters.issueTypeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -419,18 +403,17 @@ export class IssueTypeScreenSchemes { ): Promise; async getProjectsForIssueTypeScreenScheme( parameters: Parameters.GetProjectsForIssueTypeScreenScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetypescreenscheme/${parameters.issueTypeScreenSchemeId}/project`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, query: parameters.query, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueTypes.ts b/src/version3/issueTypes.ts index f3c2008187..9611666019 100644 --- a/src/version3/issueTypes.ts +++ b/src/version3/issueTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueTypes { constructor(private client: Client) {} @@ -39,13 +39,13 @@ export class IssueTypes { * - If the user authentication is incorrect they will fall back to anonymous */ async getIssueAllTypes(callback?: never): Promise; - async getIssueAllTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getIssueAllTypes(): Promise { + const config: Request = { url: '/rest/api/3/issuetype', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -68,21 +68,18 @@ export class IssueTypes { parameters: Parameters.CreateIssueType, callback?: never, ): Promise; - async createIssueType( - parameters: Parameters.CreateIssueType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueType(parameters: Parameters.CreateIssueType): Promise { + const config: Request = { url: '/rest/api/3/issuetype', method: 'POST', - data: { + body: { description: parameters.description, hierarchyLevel: parameters.hierarchyLevel ?? 0, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -113,18 +110,17 @@ export class IssueTypes { ): Promise; async getIssueTypesForProject( parameters: Parameters.GetIssueTypesForProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issuetype/project', method: 'GET', - params: { + query: { projectId: parameters.projectId, level: parameters.level, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -150,16 +146,13 @@ export class IssueTypes { * with or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getIssueType(parameters: Parameters.GetIssueType, callback?: never): Promise; - async getIssueType( - parameters: Parameters.GetIssueType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueType(parameters: Parameters.GetIssueType): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -182,21 +175,18 @@ export class IssueTypes { parameters: Parameters.UpdateIssueType, callback?: never, ): Promise; - async updateIssueType( - parameters: Parameters.UpdateIssueType, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateIssueType(parameters: Parameters.UpdateIssueType): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.id}`, method: 'PUT', - data: { + body: { avatarId: parameters.avatarId, description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,16 +207,16 @@ export class IssueTypes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteIssueType(parameters: Parameters.DeleteIssueType, callback?: never): Promise; - async deleteIssueType(parameters: Parameters.DeleteIssueType, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteIssueType(parameters: Parameters.DeleteIssueType): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.id}`, method: 'DELETE', - params: { + query: { alternativeIssueTypeId: parameters.alternativeIssueTypeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -255,14 +245,13 @@ export class IssueTypes { ): Promise; async getAlternativeIssueTypes( parameters: Parameters.GetAlternativeIssueTypes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.id}/alternatives`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -303,25 +292,22 @@ export class IssueTypes { parameters: Parameters.CreateIssueTypeAvatar, callback?: never, ): Promise; - async createIssueTypeAvatar( - parameters: Parameters.CreateIssueTypeAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssueTypeAvatar(parameters: Parameters.CreateIssueTypeAvatar): Promise { + const config: Request = { url: `/rest/api/3/issuetype/${parameters.id}/avatar2`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueVotes.ts b/src/version3/issueVotes.ts index 11abf76cc4..3fdc1419cb 100644 --- a/src/version3/issueVotes.ts +++ b/src/version3/issueVotes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueVotes { constructor(private client: Client) {} @@ -47,13 +47,13 @@ export class IssueVotes { * project permissions are not returned details in the `voters` field. */ async getVotes(parameters: Parameters.GetVotes, callback?: never): Promise; - async getVotes(parameters: Parameters.GetVotes, callback?: Callback): Promise { - const config: RequestConfig = { + async getVotes(parameters: Parameters.GetVotes): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/votes`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -86,8 +86,8 @@ export class IssueVotes { * to view the issue. */ async addVote(parameters: Parameters.AddVote, callback?: never): Promise; - async addVote(parameters: Parameters.AddVote, callback?: Callback): Promise { - const config: RequestConfig = { + async addVote(parameters: Parameters.AddVote): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/votes`, method: 'POST', headers: { @@ -95,7 +95,7 @@ export class IssueVotes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -128,12 +128,12 @@ export class IssueVotes { * to view the issue. */ async removeVote(parameters: Parameters.RemoveVote, callback?: never): Promise; - async removeVote(parameters: Parameters.RemoveVote, callback?: Callback): Promise { - const config: RequestConfig = { + async removeVote(parameters: Parameters.RemoveVote): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/votes`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueWatchers.ts b/src/version3/issueWatchers.ts index f2d2ec1d4c..87b90e5bb9 100644 --- a/src/version3/issueWatchers.ts +++ b/src/version3/issueWatchers.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWatchers { constructor(private client: Client) {} @@ -47,17 +47,16 @@ export class IssueWatchers { ): Promise; async getIsWatchingIssueBulk( parameters?: Parameters.GetIsWatchingIssueBulk, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue/watching', method: 'POST', - data: { + body: { issueIds: parameters?.issueIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -101,16 +100,13 @@ export class IssueWatchers { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. */ async getIssueWatchers(parameters: Parameters.GetIssueWatchers, callback?: never): Promise; - async getIssueWatchers( - parameters: Parameters.GetIssueWatchers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueWatchers(parameters: Parameters.GetIssueWatchers): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/watchers`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,17 +145,17 @@ export class IssueWatchers { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. */ async addWatcher(parameters: Parameters.AddWatcher, callback?: never): Promise; - async addWatcher(parameters: Parameters.AddWatcher, callback?: Callback): Promise { - const config: RequestConfig = { + async addWatcher(parameters: Parameters.AddWatcher): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/watchers`, method: 'POST', headers: { 'Content-Type': 'application/json', }, - data: parameters.accountId, + body: parameters.accountId, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -196,16 +192,16 @@ export class IssueWatchers { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. */ async removeWatcher(parameters: Parameters.RemoveWatcher, callback?: never): Promise; - async removeWatcher(parameters: Parameters.RemoveWatcher, callback?: Callback): Promise { - const config: RequestConfig = { + async removeWatcher(parameters: Parameters.RemoveWatcher): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/watchers`, method: 'DELETE', - params: { + query: { username: parameters.username, accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueWorklogProperties.ts b/src/version3/issueWorklogProperties.ts index 3a17cebc2b..3dd96bfd7f 100644 --- a/src/version3/issueWorklogProperties.ts +++ b/src/version3/issueWorklogProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWorklogProperties { constructor(private client: Client) {} @@ -43,14 +43,13 @@ export class IssueWorklogProperties { ): Promise; async getWorklogPropertyKeys( parameters: Parameters.GetWorklogPropertyKeys, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -87,16 +86,13 @@ export class IssueWorklogProperties { parameters: Parameters.GetWorklogProperty, callback?: never, ): Promise; - async getWorklogProperty( - parameters: Parameters.GetWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getWorklogProperty(parameters: Parameters.GetWorklogProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -140,16 +136,13 @@ export class IssueWorklogProperties { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async setWorklogProperty(parameters: Parameters.SetWorklogProperty, callback?: never): Promise; - async setWorklogProperty( - parameters: Parameters.SetWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setWorklogProperty(parameters: Parameters.SetWorklogProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -183,15 +176,12 @@ export class IssueWorklogProperties { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async deleteWorklogProperty(parameters: Parameters.DeleteWorklogProperty, callback?: never): Promise; - async deleteWorklogProperty( - parameters: Parameters.DeleteWorklogProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteWorklogProperty(parameters: Parameters.DeleteWorklogProperty): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.worklogId}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issueWorklogs.ts b/src/version3/issueWorklogs.ts index fe12575926..78f7819261 100644 --- a/src/version3/issueWorklogs.ts +++ b/src/version3/issueWorklogs.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class IssueWorklogs { constructor(private client: Client) {} @@ -51,14 +51,11 @@ export class IssueWorklogs { parameters: Parameters.GetIssueWorklog, callback?: never, ): Promise; - async getIssueWorklog( - parameters: Parameters.GetIssueWorklog, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getIssueWorklog(parameters: Parameters.GetIssueWorklog): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, startedAfter: parameters.startedAfter, @@ -67,7 +64,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,7 +99,7 @@ export class IssueWorklogs { * to view the issue. */ async addWorklog(parameters: Parameters.AddWorklog, callback?: never): Promise; - async addWorklog(parameters: Parameters.AddWorklog, callback?: Callback): Promise { + async addWorklog(parameters: Parameters.AddWorklog): Promise { let comment: Models.Document | undefined; if (typeof parameters.comment === 'string') { @@ -125,10 +122,10 @@ export class IssueWorklogs { comment = parameters.comment; } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog`, method: 'POST', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, @@ -136,7 +133,7 @@ export class IssueWorklogs { expand: parameters.expand, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { author: parameters.author, comment, created: parameters.created, @@ -153,7 +150,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -194,23 +191,20 @@ export class IssueWorklogs { * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async bulkDeleteWorklogs(parameters: Parameters.BulkDeleteWorklogs, callback?: never): Promise; - async bulkDeleteWorklogs( - parameters: Parameters.BulkDeleteWorklogs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkDeleteWorklogs(parameters: Parameters.BulkDeleteWorklogs): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog`, method: 'DELETE', - params: { + query: { adjustEstimate: parameters.adjustEstimate, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { ids: parameters.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -261,18 +255,18 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs, callback?: never): Promise; - async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs, callback?: Callback): Promise { - const config: RequestConfig = { + async bulkMoveWorklogs(parameters: Parameters.BulkMoveWorklogs): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/move`, method: 'POST', - params: { + query: { adjustEstimate: parameters.adjustEstimate, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: parameters.worklogs, + body: parameters.worklogs, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -309,16 +303,16 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async getWorklog(parameters: Parameters.GetWorklog, callback?: never): Promise; - async getWorklog(parameters: Parameters.GetWorklog, callback?: Callback): Promise { - const config: RequestConfig = { + async getWorklog(parameters: Parameters.GetWorklog): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -359,10 +353,7 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async updateWorklog(parameters: Parameters.UpdateWorklog, callback?: never): Promise; - async updateWorklog( - parameters: Parameters.UpdateWorklog, - callback?: Callback, - ): Promise { + async updateWorklog(parameters: Parameters.UpdateWorklog): Promise { let comment: Models.Document | undefined; if (typeof parameters.comment === 'string') { @@ -385,17 +376,17 @@ export class IssueWorklogs { comment = parameters.comment; } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, expand: parameters.expand, overrideEditableFlag: parameters.overrideEditableFlag, }, - data: { + body: { comment, visibility: parameters.visibility, started: parameters.started, @@ -405,7 +396,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -446,11 +437,11 @@ export class IssueWorklogs { * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. */ async deleteWorklog(parameters: Parameters.DeleteWorklog, callback?: never): Promise; - async deleteWorklog(parameters: Parameters.DeleteWorklog, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteWorklog(parameters: Parameters.DeleteWorklog): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/worklog/${parameters.id}`, method: 'DELETE', - params: { + query: { notifyUsers: parameters.notifyUsers, adjustEstimate: parameters.adjustEstimate, newEstimate: parameters.newEstimate, @@ -459,7 +450,7 @@ export class IssueWorklogs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -498,17 +489,16 @@ export class IssueWorklogs { ): Promise; async getIdsOfWorklogsDeletedSince( parameters?: Parameters.GetIdsOfWorklogsDeletedSince, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/worklog/deleted', method: 'GET', - params: { + query: { since: parameters?.since, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -541,22 +531,19 @@ export class IssueWorklogs { parameters?: Parameters.GetWorklogsForIds, callback?: never, ): Promise; - async getWorklogsForIds( - parameters?: Parameters.GetWorklogsForIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getWorklogsForIds(parameters?: Parameters.GetWorklogsForIds): Promise { + const config: Request = { url: '/rest/api/3/worklog/list', method: 'POST', - params: { + query: { expand: parameters?.expand, }, - data: { + body: { ids: parameters?.ids, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -601,17 +588,16 @@ export class IssueWorklogs { ): Promise; async getIdsOfWorklogsModifiedSince( parameters?: Parameters.GetIdsOfWorklogsModifiedSince, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/worklog/updated', method: 'GET', - params: { + query: { since: parameters?.since, expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/issues.ts b/src/version3/issues.ts index 07c92f2ada..bac1ef4a33 100644 --- a/src/version3/issues.ts +++ b/src/version3/issues.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Issues { constructor(private client: Client) {} @@ -47,14 +47,11 @@ export class Issues { parameters: Parameters.GetBulkChangelogs, callback?: never, ): Promise; - async getBulkChangelogs( - parameters: Parameters.GetBulkChangelogs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBulkChangelogs(parameters: Parameters.GetBulkChangelogs): Promise { + const config: Request = { url: '/rest/api/3/changelog/bulkfetch', method: 'POST', - data: { + body: { fieldIds: parameters.fieldIds, issueIdsOrKeys: parameters.issueIdsOrKeys, maxResults: parameters.maxResults, @@ -62,7 +59,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,13 +76,13 @@ export class Issues { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getEvents(callback?: never): Promise; - async getEvents(callback?: Callback): Promise { - const config: RequestConfig = { + async getEvents(): Promise { + const config: Request = { url: '/rest/api/3/events', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -138,10 +135,7 @@ export class Issues { * which the issue or subtask is created. */ async createIssue(parameters: Parameters.CreateIssue, callback?: never): Promise; - async createIssue( - parameters: Parameters.CreateIssue, - callback?: Callback, - ): Promise { + async createIssue(parameters: Parameters.CreateIssue): Promise { if (typeof parameters.fields.description === 'string') { parameters.fields.description = { type: 'doc', @@ -160,13 +154,13 @@ export class Issues { }; } - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue', method: 'POST', - params: { + query: { updateHistory: parameters.updateHistory, }, - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -175,7 +169,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -228,19 +222,16 @@ export class Issues { * **Rate limiting:** Only a single request per jira instance can be active at any given time. */ async archiveIssuesAsync(parameters: Parameters.ArchiveIssuesAsync, callback?: never): Promise; - async archiveIssuesAsync( - parameters: Parameters.ArchiveIssuesAsync, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async archiveIssuesAsync(parameters: Parameters.ArchiveIssuesAsync): Promise { + const config: Request = { url: '/rest/api/3/issue/archive', method: 'POST', - data: { + body: { jql: parameters.jql, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -280,19 +271,16 @@ export class Issues { * **Signed-in users only:** This API can't be accessed anonymously. */ async archiveIssues(parameters: Parameters.ArchiveIssues, callback?: never): Promise; - async archiveIssues( - parameters: Parameters.ArchiveIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async archiveIssues(parameters: Parameters.ArchiveIssues): Promise { + const config: Request = { url: '/rest/api/3/issue/archive', method: 'PUT', - data: { + body: { issueIdsOrKeys: parameters.issueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -342,19 +330,16 @@ export class Issues { * which each issue or subtask is created. */ async createIssues(parameters?: Parameters.CreateIssues, callback?: never): Promise; - async createIssues( - parameters?: Parameters.CreateIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createIssues(parameters?: Parameters.CreateIssues): Promise { + const config: Request = { url: '/rest/api/3/issue/bulk', method: 'POST', - data: { + body: { issueUpdates: parameters?.issueUpdates, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -402,14 +387,11 @@ export class Issues { * to view the issue. */ async bulkFetchIssues(parameters: Parameters.BulkFetchIssues, callback?: never): Promise; - async bulkFetchIssues( - parameters: Parameters.BulkFetchIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkFetchIssues(parameters: Parameters.BulkFetchIssues): Promise { + const config: Request = { url: '/rest/api/3/issue/bulkfetch', method: 'POST', - data: { + body: { expand: parameters.expand, fields: parameters.fields, fieldsByKeys: parameters.fieldsByKeys, @@ -418,7 +400,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -469,12 +451,11 @@ export class Issues { ): Promise; async getCreateIssueMeta( parameters?: Parameters.GetCreateIssueMeta, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue/createmeta', method: 'GET', - params: { + query: { projectIds: parameters?.projectIds, projectKeys: parameters?.projectKeys, issuetypeIds: parameters?.issuetypeIds, @@ -483,7 +464,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -514,18 +495,17 @@ export class Issues { ): Promise; async getCreateIssueMetaIssueTypes( parameters: Parameters.GetCreateIssueMetaIssueTypes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/createmeta/${parameters.projectIdOrKey}/issuetypes`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -556,18 +536,17 @@ export class Issues { ): Promise; async getCreateIssueMetaIssueTypeId( parameters: Parameters.GetCreateIssueMetaIssueTypeId, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/createmeta/${parameters.projectIdOrKey}/issuetypes/${parameters.issueTypeId}`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -598,20 +577,19 @@ export class Issues { ): Promise; async getIssueLimitReport( parameters?: Parameters.GetIssueLimitReport, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issue/limit/report', method: 'GET', - params: { + query: { isReturningKeys: parameters?.isReturningKeys, }, - data: { + body: { issuesApproachingLimitParams: parameters?.issuesApproachingLimitParams, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -654,19 +632,16 @@ export class Issues { parameters: Parameters.UnarchiveIssues, callback?: never, ): Promise; - async unarchiveIssues( - parameters: Parameters.UnarchiveIssues, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async unarchiveIssues(parameters: Parameters.UnarchiveIssues): Promise { + const config: Request = { url: '/rest/api/3/issue/unarchive', method: 'PUT', - data: { + body: { issueIdsOrKeys: parameters.issueIdsOrKeys, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -703,11 +678,11 @@ export class Issues { * to view the issue. */ async getIssue(parameters: Parameters.GetIssue, callback?: never): Promise; - async getIssue(parameters: Parameters.GetIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async getIssue(parameters: Parameters.GetIssue): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}`, method: 'GET', - params: { + query: { fields: parameters.fields, fieldsByKeys: parameters.fieldsByKeys, expand: parameters.expand, @@ -717,7 +692,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -776,7 +751,7 @@ export class Issues { * to view the issue. */ async editIssue(parameters: Parameters.EditIssue, callback?: never): Promise; - async editIssue(parameters: Parameters.EditIssue, callback?: Callback): Promise { + async editIssue(parameters: Parameters.EditIssue): Promise { if (parameters.fields?.description && typeof parameters.fields.description === 'string') { const { fields: { description }, @@ -799,17 +774,17 @@ export class Issues { }; } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}`, method: 'PUT', - params: { + query: { notifyUsers: parameters.notifyUsers, overrideScreenSecurity: parameters.overrideScreenSecurity, overrideEditableFlag: parameters.overrideEditableFlag, returnIssue: parameters.returnIssue, expand: parameters.expand, }, - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -818,7 +793,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -853,16 +828,16 @@ export class Issues { * to view the issue. */ async deleteIssue(parameters: Parameters.DeleteIssue, callback?: never): Promise; - async deleteIssue(parameters: Parameters.DeleteIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteIssue(parameters: Parameters.DeleteIssue): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}`, method: 'DELETE', - params: { + query: { deleteSubtasks: parameters.deleteSubtasks, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -903,11 +878,11 @@ export class Issues { * to view the issue. */ async assignIssue(parameters: Parameters.AssignIssue, callback?: never): Promise; - async assignIssue(parameters: Parameters.AssignIssue, callback?: Callback): Promise { - const config: RequestConfig = { + async assignIssue(parameters: Parameters.AssignIssue): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/assignee`, method: 'PUT', - data: { + body: { accountId: parameters.accountId, accountType: parameters.accountType, active: parameters.active, @@ -925,7 +900,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -959,20 +934,17 @@ export class Issues { * to view the issue. */ async getChangeLogs(parameters: Parameters.GetChangeLogs, callback?: never): Promise; - async getChangeLogs( - parameters: Parameters.GetChangeLogs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getChangeLogs(parameters: Parameters.GetChangeLogs): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/changelog`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1007,19 +979,16 @@ export class Issues { parameters: Parameters.GetChangeLogsByIds, callback?: never, ): Promise; - async getChangeLogsByIds( - parameters: Parameters.GetChangeLogsByIds, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getChangeLogsByIds(parameters: Parameters.GetChangeLogsByIds): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/changelog/list`, method: 'POST', - data: { + body: { changelogIds: parameters.changelogIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1134,20 +1103,17 @@ export class Issues { parameters: Parameters.GetEditIssueMeta, callback?: never, ): Promise; - async getEditIssueMeta( - parameters: Parameters.GetEditIssueMeta, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getEditIssueMeta(parameters: Parameters.GetEditIssueMeta): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/editmeta`, method: 'GET', - params: { + query: { overrideScreenSecurity: parameters.overrideScreenSecurity, overrideEditableFlag: parameters.overrideEditableFlag, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1172,11 +1138,11 @@ export class Issues { * to view the issue. */ async notify(parameters: Parameters.Notify, callback?: never): Promise; - async notify(parameters: Parameters.Notify, callback?: Callback): Promise { - const config: RequestConfig = { + async notify(parameters: Parameters.Notify): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/notify`, method: 'POST', - data: { + body: { htmlBody: parameters.htmlBody, restrict: parameters.restrict, subject: parameters.subject, @@ -1185,7 +1151,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1233,14 +1199,11 @@ export class Issues { * permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions. */ async getTransitions(parameters: Parameters.GetTransitions, callback?: never): Promise; - async getTransitions( - parameters: Parameters.GetTransitions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getTransitions(parameters: Parameters.GetTransitions): Promise { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/transitions`, method: 'GET', - params: { + query: { expand: parameters.expand, transitionId: parameters.transitionId, skipRemoteOnlyCondition: parameters.skipRemoteOnlyCondition, @@ -1249,7 +1212,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1286,7 +1249,7 @@ export class Issues { * to view the issue. */ async doTransition(parameters: Parameters.DoTransition, callback?: never): Promise; - async doTransition(parameters: Parameters.DoTransition, callback?: Callback): Promise { + async doTransition(parameters: Parameters.DoTransition): Promise { if (parameters.fields?.description && typeof parameters.fields.description === 'string') { parameters.fields.description = { type: 'doc', @@ -1305,10 +1268,10 @@ export class Issues { }; } - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/issue/${parameters.issueIdOrKey}/transitions`, method: 'POST', - data: { + body: { fields: parameters.fields, historyMetadata: parameters.historyMetadata, properties: parameters.properties, @@ -1317,7 +1280,7 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -1362,12 +1325,11 @@ export class Issues { ): Promise; async exportArchivedIssues( parameters?: Parameters.ExportArchivedIssues, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/issues/archive/export', method: 'PUT', - data: { + body: { archivedBy: parameters?.archivedBy, archivedDateRange: parameters?.archivedDateRange, issueTypes: parameters?.issueTypes, @@ -1376,6 +1338,6 @@ export class Issues { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/jQL.ts b/src/version3/jQL.ts index 3bce67edc1..36b545edcd 100644 --- a/src/version3/jQL.ts +++ b/src/version3/jQL.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JQL { constructor(private client: Client) {} @@ -37,13 +37,13 @@ export class JQL { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getAutoComplete(callback?: never): Promise; - async getAutoComplete(callback?: Callback): Promise { - const config: RequestConfig = { + async getAutoComplete(): Promise { + const config: Request = { url: '/rest/api/3/jql/autocompletedata', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,18 +90,17 @@ export class JQL { ): Promise; async getAutoCompletePost( parameters?: Parameters.GetAutoCompletePost, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/jql/autocompletedata', method: 'POST', - data: { + body: { includeCollapsedFields: parameters?.includeCollapsedFields, projectIds: parameters?.projectIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,12 +143,11 @@ export class JQL { ): Promise; async getFieldAutoCompleteForQueryString( parameters?: Parameters.GetFieldAutoCompleteForQueryString, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/jql/autocompletedata/suggestions', method: 'GET', - params: { + query: { fieldName: parameters?.fieldName, fieldValue: parameters?.fieldValue, predicateName: parameters?.predicateName, @@ -157,7 +155,7 @@ export class JQL { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -186,22 +184,19 @@ export class JQL { parameters: Parameters.ParseJqlQueries, callback?: never, ): Promise; - async parseJqlQueries( - parameters: Parameters.ParseJqlQueries, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async parseJqlQueries(parameters: Parameters.ParseJqlQueries): Promise { + const config: Request = { url: '/rest/api/3/jql/parse', method: 'POST', - params: { + query: { validation: parameters.validation, }, - data: { + body: { queries: parameters.queries, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -234,19 +229,16 @@ export class JQL { parameters?: Parameters.MigrateQueries, callback?: never, ): Promise; - async migrateQueries( - parameters?: Parameters.MigrateQueries, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async migrateQueries(parameters?: Parameters.MigrateQueries): Promise { + const config: Request = { url: '/rest/api/3/jql/pdcleaner', method: 'POST', - data: { + body: { queryStrings: parameters?.queryStrings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -297,16 +289,15 @@ export class JQL { ): Promise; async sanitiseJqlQueries( parameters?: Parameters.SanitiseJqlQueries, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/jql/sanitize', method: 'POST', - data: { + body: { queries: parameters?.queries, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/jiraExpressions.ts b/src/version3/jiraExpressions.ts index 32613a0ce8..7a78c7f54d 100644 --- a/src/version3/jiraExpressions.ts +++ b/src/version3/jiraExpressions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JiraExpressions { constructor(private client: Client) {} @@ -37,21 +37,20 @@ export class JiraExpressions { ): Promise; async analyseExpression( parameters?: Parameters.AnalyseExpression, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/expression/analyse', method: 'POST', - params: { + query: { check: parameters?.check, }, - data: { + body: { contextVariables: parameters?.contextVariables, expressions: parameters?.expressions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -176,21 +175,20 @@ export class JiraExpressions { ): Promise; async evaluateJiraExpression( parameters: Parameters.EvaluateJiraExpression, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/expression/eval', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { context: parameters.context, expression: parameters.expression, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -323,20 +321,19 @@ export class JiraExpressions { ): Promise; async evaluateJiraExpressionUsingEnhancedSearch( parameters: Parameters.EvaluateJiraExpressionUsingEnhancedSearch, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/expression/evaluate', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { context: parameters.context, expression: parameters.expression, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/jiraSettings.ts b/src/version3/jiraSettings.ts index e46052b961..180f26154b 100644 --- a/src/version3/jiraSettings.ts +++ b/src/version3/jiraSettings.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JiraSettings { constructor(private client: Client) {} @@ -37,19 +37,18 @@ export class JiraSettings { ): Promise; async getApplicationProperty( parameters?: Parameters.GetApplicationProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/application-properties', method: 'GET', - params: { + query: { key: parameters?.key, permissionLevel: parameters?.permissionLevel, keyFilter: parameters?.keyFilter, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,13 +69,13 @@ export class JiraSettings { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAdvancedSettings(callback?: never): Promise; - async getAdvancedSettings(callback?: Callback): Promise { - const config: RequestConfig = { + async getAdvancedSettings(): Promise { + const config: Request = { url: '/rest/api/3/application-properties/advanced-settings', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -199,15 +198,14 @@ export class JiraSettings { ): Promise; async setApplicationProperty( parameters: Parameters.SetApplicationProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/application-properties/${parameters.id}`, method: 'PUT', - data: parameters.body, + body: parameters.body, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -228,12 +226,12 @@ export class JiraSettings { * Permission to access Jira. */ async getConfiguration(callback?: never): Promise; - async getConfiguration(callback?: Callback): Promise { - const config: RequestConfig = { + async getConfiguration(): Promise { + const config: Request = { url: '/rest/api/3/configuration', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/jqlFunctionsApps.ts b/src/version3/jqlFunctionsApps.ts index 1de76e69f5..25ea48854e 100644 --- a/src/version3/jqlFunctionsApps.ts +++ b/src/version3/jqlFunctionsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class JqlFunctionsApps { constructor(private client: Client) {} @@ -37,12 +37,11 @@ export class JqlFunctionsApps { ): Promise; async getPrecomputations( parameters?: Parameters.GetPrecomputations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/jql/function/computation', method: 'GET', - params: { + query: { functionKey: parameters?.functionKey, startAt: parameters?.startAt, maxResults: parameters?.maxResults, @@ -51,7 +50,7 @@ export class JqlFunctionsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,22 +76,19 @@ export class JqlFunctionsApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updatePrecomputations(parameters: Parameters.UpdatePrecomputations, callback?: never): Promise; - async updatePrecomputations( - parameters: Parameters.UpdatePrecomputations, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updatePrecomputations(parameters: Parameters.UpdatePrecomputations): Promise { + const config: Request = { url: '/rest/api/3/jql/function/computation', method: 'POST', - params: { + query: { skipNotFoundPrecomputations: parameters.skipNotFoundPrecomputations, }, - data: { + body: { values: parameters.values, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -125,19 +121,18 @@ export class JqlFunctionsApps { ): Promise; async getPrecomputationsByID( parameters: Parameters.GetPrecomputationsByID, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/jql/function/computation/search', method: 'POST', - params: { + query: { orderBy: parameters.orderBy, }, - data: { + body: { precomputationIDs: parameters.precomputationIDs, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/labels.ts b/src/version3/labels.ts index ecc85029da..020f03df01 100644 --- a/src/version3/labels.ts +++ b/src/version3/labels.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Labels { constructor(private client: Client) {} @@ -20,19 +20,16 @@ export class Labels { * labels. */ async getAllLabels(parameters?: Parameters.GetAllLabels, callback?: never): Promise; - async getAllLabels( - parameters?: Parameters.GetAllLabels, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllLabels(parameters?: Parameters.GetAllLabels): Promise { + const config: Request = { url: '/rest/api/3/label', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/licenseMetrics.ts b/src/version3/licenseMetrics.ts index a26b7177c1..6f1f05bdc6 100644 --- a/src/version3/licenseMetrics.ts +++ b/src/version3/licenseMetrics.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class LicenseMetrics { constructor(private client: Client) {} @@ -18,13 +18,13 @@ export class LicenseMetrics { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getLicense(callback?: never): Promise; - async getLicense(callback?: Callback): Promise { - const config: RequestConfig = { + async getLicense(): Promise { + const config: Request = { url: '/rest/api/3/instance/license', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -43,13 +43,13 @@ export class LicenseMetrics { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getApproximateLicenseCount(callback?: never): Promise; - async getApproximateLicenseCount(callback?: Callback): Promise { - const config: RequestConfig = { + async getApproximateLicenseCount(): Promise { + const config: Request = { url: '/rest/api/3/license/approximateLicenseCount', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -74,15 +74,12 @@ export class LicenseMetrics { applicationKey: string, callback?: never, ): Promise; - async getApproximateApplicationLicenseCount( - applicationKey: string, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getApproximateApplicationLicenseCount(applicationKey: string): Promise { + const config: Request = { url: `/rest/api/3/license/approximateLicenseCount/product/${applicationKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/models/attachmentContent.ts b/src/version3/models/attachmentContent.ts new file mode 100644 index 0000000000..3e5b6fdfce --- /dev/null +++ b/src/version3/models/attachmentContent.ts @@ -0,0 +1,4 @@ +export interface AttachmentContent { + contentType: string; + content: ArrayBuffer; +} diff --git a/src/version3/models/avatarWithDetails.ts b/src/version3/models/avatarWithDetails.ts index f0c47200c6..15f5f99071 100644 --- a/src/version3/models/avatarWithDetails.ts +++ b/src/version3/models/avatarWithDetails.ts @@ -2,5 +2,5 @@ export interface AvatarWithDetails { /** The content type of the avatar. Expected values include 'image/png', 'image/svg+xml', or any other valid MIME type. */ contentType: 'image/png' | 'image/svg+xml' | string; /** The binary representation of the avatar image. */ - avatar: Uint8Array; + avatar: ArrayBuffer; } diff --git a/src/version3/models/index.ts b/src/version3/models/index.ts index a78b455209..f7eb80f3f4 100644 --- a/src/version3/models/index.ts +++ b/src/version3/models/index.ts @@ -1,3 +1,4 @@ +export * from './attachmentContent'; export * from './actorInput'; export * from './actorsMap'; export * from './addField'; diff --git a/src/version3/myself.ts b/src/version3/myself.ts index dd97941d31..ce0392f65d 100644 --- a/src/version3/myself.ts +++ b/src/version3/myself.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Myself { constructor(private client: Client) {} @@ -59,16 +59,16 @@ export class Myself { * Permission to access Jira. */ async getPreference(parameters: Parameters.GetPreference, callback?: never): Promise; - async getPreference(parameters: Parameters.GetPreference, callback?: Callback): Promise { - const config: RequestConfig = { + async getPreference(parameters: Parameters.GetPreference): Promise { + const config: Request = { url: '/rest/api/3/mypreferences', method: 'GET', - params: { + query: { key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,16 +139,16 @@ export class Myself { * Permission to access Jira. */ async setPreference(parameters: Parameters.SetPreference, callback?: never): Promise; - async setPreference(parameters: Parameters.SetPreference, callback?: Callback): Promise { - const config: RequestConfig = { + async setPreference(parameters: Parameters.SetPreference): Promise { + const config: Request = { url: '/rest/api/3/mypreferences', method: 'PUT', - params: { + query: { key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -183,16 +183,16 @@ export class Myself { * Permission to access Jira. */ async removePreference(parameters: Parameters.RemovePreference, callback?: never): Promise; - async removePreference(parameters: Parameters.RemovePreference, callback?: Callback): Promise { - const config: RequestConfig = { + async removePreference(parameters: Parameters.RemovePreference): Promise { + const config: Request = { url: '/rest/api/3/mypreferences', method: 'DELETE', - params: { + query: { key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -219,13 +219,13 @@ export class Myself { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getLocale(callback?: never): Promise; - async getLocale(callback?: Callback): Promise { - const config: RequestConfig = { + async getLocale(): Promise { + const config: Request = { url: '/rest/api/3/mypreferences/locale', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -245,18 +245,15 @@ export class Myself { * Permission to access Jira. */ async getCurrentUser(parameters?: Parameters.GetCurrentUser, callback?: never): Promise; - async getCurrentUser( - parameters?: Parameters.GetCurrentUser, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getCurrentUser(parameters?: Parameters.GetCurrentUser): Promise { + const config: Request = { url: '/rest/api/3/myself', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/permissionSchemes.ts b/src/version3/permissionSchemes.ts index 6324e3171d..229a91efd9 100644 --- a/src/version3/permissionSchemes.ts +++ b/src/version3/permissionSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class PermissionSchemes { constructor(private client: Client) {} @@ -241,17 +241,16 @@ export class PermissionSchemes { ): Promise; async getAllPermissionSchemes( parameters?: Parameters.GetAllPermissionSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/permissionscheme', method: 'GET', - params: { + query: { expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -278,21 +277,20 @@ export class PermissionSchemes { ): Promise; async createPermissionScheme( parameters?: Parameters.CreatePermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/permissionscheme', method: 'POST', - params: { + query: { expand: parameters?.expand, }, - data: { + body: { ...parameters, expand: undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -317,17 +315,16 @@ export class PermissionSchemes { ): Promise; async getPermissionScheme( parameters: Parameters.GetPermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -376,22 +373,21 @@ export class PermissionSchemes { ): Promise; async updatePermissionScheme( parameters: Parameters.UpdatePermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { ...parameters, schemeId: undefined, expand: undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -411,16 +407,13 @@ export class PermissionSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePermissionScheme(parameters: Parameters.DeletePermissionScheme, callback?: never): Promise; - async deletePermissionScheme( - parameters: Parameters.DeletePermissionScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePermissionScheme(parameters: Parameters.DeletePermissionScheme): Promise { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -445,17 +438,16 @@ export class PermissionSchemes { ): Promise; async getPermissionSchemeGrants( parameters: Parameters.GetPermissionSchemeGrants, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}/permission`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -480,15 +472,14 @@ export class PermissionSchemes { ): Promise; async createPermissionGrant( parameters: Parameters.CreatePermissionGrant, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}/permission`, method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { holder: parameters.holder, id: parameters.id, permission: parameters.permission, @@ -496,7 +487,7 @@ export class PermissionSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -521,17 +512,16 @@ export class PermissionSchemes { ): Promise; async getPermissionSchemeGrant( parameters: Parameters.GetPermissionSchemeGrant, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}/permission/${parameters.permissionId}`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -556,15 +546,12 @@ export class PermissionSchemes { parameters: Parameters.DeletePermissionSchemeEntity, callback?: never, ): Promise; - async deletePermissionSchemeEntity( - parameters: Parameters.DeletePermissionSchemeEntity, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePermissionSchemeEntity(parameters: Parameters.DeletePermissionSchemeEntity): Promise { + const config: Request = { url: `/rest/api/3/permissionscheme/${parameters.schemeId}/permission/${parameters.permissionId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/permissions.ts b/src/version3/permissions.ts index 52570bff08..0d4a50037f 100644 --- a/src/version3/permissions.ts +++ b/src/version3/permissions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Permissions { constructor(private client: Client) {} @@ -81,14 +81,11 @@ export class Permissions { parameters?: Parameters.GetMyPermissions, callback?: never, ): Promise; - async getMyPermissions( - parameters?: Parameters.GetMyPermissions, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getMyPermissions(parameters?: Parameters.GetMyPermissions): Promise { + const config: Request = { url: '/rest/api/3/mypermissions', method: 'GET', - params: { + query: { projectKey: parameters?.projectKey, projectId: parameters?.projectId, issueKey: parameters?.issueKey, @@ -100,7 +97,7 @@ export class Permissions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -127,13 +124,13 @@ export class Permissions { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getAllPermissions(callback?: never): Promise; - async getAllPermissions(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllPermissions(): Promise { + const config: Request = { url: '/rest/api/3/permissions', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -206,19 +203,18 @@ export class Permissions { ): Promise; async getBulkPermissions( parameters?: Parameters.GetBulkPermissions, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/permissions/check', method: 'POST', - data: { + body: { accountId: parameters?.accountId, globalPermissions: parameters?.globalPermissions, projectPermissions: parameters?.projectPermissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -245,16 +241,15 @@ export class Permissions { ): Promise; async getPermittedProjects( parameters?: Parameters.GetPermittedProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/permissions/project', method: 'POST', - data: { + body: { permissions: parameters?.permissions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/plans.ts b/src/version3/plans.ts index 1185eb0392..cfaf445b46 100644 --- a/src/version3/plans.ts +++ b/src/version3/plans.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Plans { constructor(private client: Client) {} @@ -27,14 +27,11 @@ export class Plans { parameters?: Parameters.GetPlans, callback?: never, ): Promise; - async getPlans( - parameters?: Parameters.GetPlans, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPlans(parameters?: Parameters.GetPlans): Promise { + const config: Request = { url: '/rest/api/3/plans/plan', method: 'GET', - params: { + query: { includeTrashed: parameters?.includeTrashed, includeArchived: parameters?.includeArchived, cursor: parameters?.cursor, @@ -42,7 +39,7 @@ export class Plans { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -59,14 +56,14 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPlan(parameters: Parameters.CreatePlan, callback?: never): Promise; - async createPlan(parameters: Parameters.CreatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async createPlan(parameters: Parameters.CreatePlan): Promise { + const config: Request = { url: '/rest/api/3/plans/plan', method: 'POST', - params: { + query: { useGroupId: parameters.useGroupId, }, - data: { + body: { crossProjectReleases: parameters.crossProjectReleases, customFields: parameters.customFields, exclusionRules: parameters.exclusionRules, @@ -78,7 +75,7 @@ export class Plans { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -95,16 +92,16 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getPlan(parameters: Parameters.GetPlan, callback?: never): Promise; - async getPlan(parameters: Parameters.GetPlan, callback?: Callback): Promise { - const config: RequestConfig = { + async getPlan(parameters: Parameters.GetPlan): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}`, method: 'GET', - params: { + query: { useGroupId: parameters.useGroupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -127,14 +124,14 @@ export class Plans { * out the order of array elements._ */ async updatePlan(parameters: Parameters.UpdatePlan, callback?: never): Promise; - async updatePlan(parameters: Parameters.UpdatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async updatePlan(parameters: Parameters.UpdatePlan): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}`, method: 'PUT', - params: { + query: { useGroupId: parameters.useGroupId, }, - data: { + body: { crossProjectReleases: parameters.crossProjectReleases, customFields: parameters.customFields, exclusionRules: parameters.exclusionRules, @@ -146,7 +143,7 @@ export class Plans { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -163,13 +160,13 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async archivePlan(parameters: Parameters.ArchivePlan, callback?: never): Promise; - async archivePlan(parameters: Parameters.ArchivePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async archivePlan(parameters: Parameters.ArchivePlan): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/archive`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -186,16 +183,16 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async duplicatePlan(parameters: Parameters.DuplicatePlan, callback?: never): Promise; - async duplicatePlan(parameters: Parameters.DuplicatePlan, callback?: Callback): Promise { - const config: RequestConfig = { + async duplicatePlan(parameters: Parameters.DuplicatePlan): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/duplicate`, method: 'POST', - data: { + body: { name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,12 +209,12 @@ export class Plans { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async trashPlan(parameters: Parameters.TrashPlan, callback?: never): Promise; - async trashPlan(parameters: Parameters.TrashPlan, callback?: Callback): Promise { - const config: RequestConfig = { + async trashPlan(parameters: Parameters.TrashPlan): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/trash`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/prioritySchemes.ts b/src/version3/prioritySchemes.ts index 5f995da126..5f4ee35882 100644 --- a/src/version3/prioritySchemes.ts +++ b/src/version3/prioritySchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import { paramSerializer } from '../paramSerializer'; import type { Paginated } from '../paginated'; @@ -33,12 +33,11 @@ export class PrioritySchemes { ): Promise; async getPrioritySchemes>( parameters?: Parameters.GetPrioritySchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/priorityscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, priorityId: paramSerializer('priorityId', parameters?.priorityId), @@ -50,7 +49,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,12 +74,11 @@ export class PrioritySchemes { ): Promise; async createPriorityScheme( parameters: Parameters.CreatePriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/priorityscheme', method: 'POST', - data: { + body: { defaultPriorityId: parameters.defaultPriorityId, description: parameters.description, mappings: parameters.mappings, @@ -90,7 +88,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -117,12 +115,11 @@ export class PrioritySchemes { ): Promise; async suggestedPrioritiesForMappings>( parameters?: Parameters.SuggestedPrioritiesForMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/priorityscheme/mappings', method: 'POST', - data: { + body: { maxResults: parameters?.maxResults, priorities: parameters?.priorities, projects: parameters?.projects, @@ -131,7 +128,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -158,12 +155,11 @@ export class PrioritySchemes { ): Promise; async getAvailablePrioritiesByPriorityScheme>( parameters: Parameters.GetAvailablePrioritiesByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/priorityscheme/priorities/available', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, query: parameters.query, @@ -172,7 +168,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -197,12 +193,11 @@ export class PrioritySchemes { ): Promise; async updatePriorityScheme( parameters: Parameters.UpdatePriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/priorityscheme/${parameters.schemeId}`, method: 'PUT', - data: { + body: { defaultPriorityId: parameters.defaultPriorityId, description: parameters.description, mappings: parameters.mappings, @@ -212,7 +207,7 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -238,16 +233,13 @@ export class PrioritySchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePriorityScheme(parameters: Parameters.DeletePriorityScheme, callback?: never): Promise; - async deletePriorityScheme( - parameters: Parameters.DeletePriorityScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePriorityScheme(parameters: Parameters.DeletePriorityScheme): Promise { + const config: Request = { url: `/rest/api/3/priorityscheme/${parameters.schemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -274,18 +266,17 @@ export class PrioritySchemes { ): Promise; async getPrioritiesByPriorityScheme>( parameters: Parameters.GetPrioritiesByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/priorityscheme/${parameters.schemeId}/priorities`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -312,12 +303,11 @@ export class PrioritySchemes { ): Promise; async getProjectsByPriorityScheme( parameters: Parameters.GetProjectsByPriorityScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/priorityscheme/${parameters.schemeId}/projects`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, projectId: paramSerializer('projectId', parameters.projectId), @@ -325,6 +315,6 @@ export class PrioritySchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectAvatars.ts b/src/version3/projectAvatars.ts index c55dc856dd..e0c19f2799 100644 --- a/src/version3/projectAvatars.ts +++ b/src/version3/projectAvatars.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectAvatars { constructor(private client: Client) {} @@ -27,14 +27,11 @@ export class ProjectAvatars { * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). */ async updateProjectAvatar(parameters: Parameters.UpdateProjectAvatar, callback?: never): Promise; - async updateProjectAvatar( - parameters: Parameters.UpdateProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProjectAvatar(parameters: Parameters.UpdateProjectAvatar): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/avatar`, method: 'PUT', - data: { + body: { fileName: parameters.fileName, id: parameters.id, isDeletable: parameters.isDeletable, @@ -45,7 +42,7 @@ export class ProjectAvatars { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -62,16 +59,13 @@ export class ProjectAvatars { * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). */ async deleteProjectAvatar(parameters: Parameters.DeleteProjectAvatar, callback?: never): Promise; - async deleteProjectAvatar( - parameters: Parameters.DeleteProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteProjectAvatar(parameters: Parameters.DeleteProjectAvatar): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/avatar/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -114,26 +108,23 @@ export class ProjectAvatars { parameters: Parameters.CreateProjectAvatar, callback?: never, ): Promise; - async createProjectAvatar( - parameters: Parameters.CreateProjectAvatar, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProjectAvatar(parameters: Parameters.CreateProjectAvatar): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/avatar2`, method: 'POST', headers: { 'X-Atlassian-Token': 'no-check', 'Content-Type': parameters.mimeType, }, - params: { + query: { x: parameters.x, y: parameters.y, size: parameters.size ?? 0, }, - data: parameters.avatar, + body: parameters.avatar, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -162,13 +153,12 @@ export class ProjectAvatars { ): Promise; async getAllProjectAvatars( parameters: Parameters.GetAllProjectAvatars, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/avatars`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectCategories.ts b/src/version3/projectCategories.ts index 795816deff..3f596c0b17 100644 --- a/src/version3/projectCategories.ts +++ b/src/version3/projectCategories.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectCategories { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class ProjectCategories { * Permission to access Jira. */ async getAllProjectCategories(callback?: never): Promise; - async getAllProjectCategories(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectCategories(): Promise { + const config: Request = { url: '/rest/api/3/projectCategory', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -52,12 +52,11 @@ export class ProjectCategories { ): Promise; async createProjectCategory( parameters: Parameters.CreateProjectCategory, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/projectCategory', method: 'POST', - data: { + body: { description: parameters.description, id: parameters.id, name: parameters.name, @@ -65,7 +64,7 @@ export class ProjectCategories { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,14 +89,13 @@ export class ProjectCategories { ): Promise; async getProjectCategoryById( parameters: Parameters.GetProjectCategoryById, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/projectCategory/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,18 +120,17 @@ export class ProjectCategories { ): Promise; async updateProjectCategory( parameters: Parameters.UpdateProjectCategory, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/projectCategory/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -153,15 +150,12 @@ export class ProjectCategories { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeProjectCategory(parameters: Parameters.RemoveProjectCategory, callback?: never): Promise; - async removeProjectCategory( - parameters: Parameters.RemoveProjectCategory, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeProjectCategory(parameters: Parameters.RemoveProjectCategory): Promise { + const config: Request = { url: `/rest/api/3/projectCategory/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectClassificationLevels.ts b/src/version3/projectClassificationLevels.ts index 74a41bb244..407a3b3fdc 100644 --- a/src/version3/projectClassificationLevels.ts +++ b/src/version3/projectClassificationLevels.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectClassificationLevels { constructor(private client: Client) {} @@ -34,14 +34,13 @@ export class ProjectClassificationLevels { ): Promise; async getDefaultProjectClassification( parameters: Parameters.GetDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,17 +69,16 @@ export class ProjectClassificationLevels { ): Promise; async updateDefaultProjectClassification( parameters: Parameters.UpdateDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'PUT', - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,13 +107,12 @@ export class ProjectClassificationLevels { ): Promise; async removeDefaultProjectClassification( parameters: Parameters.RemoveDefaultProjectClassification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/classification-level/default`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectComponents.ts b/src/version3/projectComponents.ts index 3de9219230..124df802c5 100644 --- a/src/version3/projectComponents.ts +++ b/src/version3/projectComponents.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import type { Paginated } from '../paginated'; export class ProjectComponents { @@ -36,12 +36,11 @@ export class ProjectComponents { ): Promise; async findComponentsForProjects>( parameters: Parameters.FindComponentsForProjects, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/component', method: 'GET', - params: { + query: { projectIdsOrKeys: parameters.projectIdsOrKeys, startAt: parameters.startAt, maxResults: parameters.maxResults, @@ -50,7 +49,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,14 +80,11 @@ export class ProjectComponents { parameters: Parameters.CreateComponent, callback?: never, ): Promise; - async createComponent( - parameters: Parameters.CreateComponent, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createComponent(parameters: Parameters.CreateComponent): Promise { + const config: Request = { url: '/rest/api/3/component', method: 'POST', - data: { + body: { ari: parameters.ari, assignee: parameters.assignee, assigneeType: parameters.assigneeType, @@ -108,7 +104,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -132,16 +128,13 @@ export class ProjectComponents { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component. */ async getComponent(parameters: Parameters.GetComponent, callback?: never): Promise; - async getComponent( - parameters: Parameters.GetComponent, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getComponent(parameters: Parameters.GetComponent): Promise { + const config: Request = { url: `/rest/api/3/component/${parameters.id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -172,14 +165,11 @@ export class ProjectComponents { parameters: Parameters.UpdateComponent, callback?: never, ): Promise; - async updateComponent( - parameters: Parameters.UpdateComponent, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateComponent(parameters: Parameters.UpdateComponent): Promise { + const config: Request = { url: `/rest/api/3/component/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, leadUserName: parameters.leadUserName, @@ -189,7 +179,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,16 +202,16 @@ export class ProjectComponents { * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteComponent(parameters: Parameters.DeleteComponent, callback?: never): Promise; - async deleteComponent(parameters: Parameters.DeleteComponent, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteComponent(parameters: Parameters.DeleteComponent): Promise { + const config: Request = { url: `/rest/api/3/component/${parameters.id}`, method: 'DELETE', - params: { + query: { moveIssuesTo: parameters.moveIssuesTo, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -258,14 +248,13 @@ export class ProjectComponents { ): Promise; async getComponentRelatedIssues( parameters: Parameters.GetComponentRelatedIssues, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/component/${parameters.id}/relatedIssueCounts`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -304,12 +293,11 @@ export class ProjectComponents { ): Promise; async getProjectComponentsPaginated( parameters: Parameters.GetProjectComponentsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/component`, method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, orderBy: parameters.orderBy, @@ -318,7 +306,7 @@ export class ProjectComponents { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -357,16 +345,15 @@ export class ProjectComponents { ): Promise; async getProjectComponents( parameters: Parameters.GetProjectComponents, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/components`, method: 'GET', - params: { + query: { componentSource: parameters.componentSource, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectEmail.ts b/src/version3/projectEmail.ts index 7ed29b6c79..248aa2a88a 100644 --- a/src/version3/projectEmail.ts +++ b/src/version3/projectEmail.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectEmail { constructor(private client: Client) {} @@ -29,16 +29,15 @@ export class ProjectEmail { ): Promise; async getProjectEmail( parameters: Parameters.GetProjectEmail | string, - callback?: Callback, ): Promise { const projectId = typeof parameters === 'string' ? parameters : parameters.projectId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectId}/email`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -61,19 +60,16 @@ export class ProjectEmail { * permission.](https://confluence.atlassian.com/x/yodKLg) */ async updateProjectEmail(parameters: Parameters.UpdateProjectEmail, callback?: never): Promise; - async updateProjectEmail( - parameters: Parameters.UpdateProjectEmail, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProjectEmail(parameters: Parameters.UpdateProjectEmail): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectId}/email`, method: 'PUT', - data: { + body: { emailAddress: parameters.emailAddress, emailAddressStatus: parameters.emailAddressStatus, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectFeatures.ts b/src/version3/projectFeatures.ts index 3caa83a82b..ccbae456df 100644 --- a/src/version3/projectFeatures.ts +++ b/src/version3/projectFeatures.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectFeatures { constructor(private client: Client) {} @@ -19,16 +19,15 @@ export class ProjectFeatures { ): Promise; async getFeaturesForProject( parameters: Parameters.GetFeaturesForProject | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/features`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Sets the state of a project feature. */ @@ -43,16 +42,15 @@ export class ProjectFeatures { ): Promise; async toggleFeatureForProject( parameters: Parameters.ToggleFeatureForProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/features/${parameters.featureKey}`, method: 'PUT', - data: { + body: { state: parameters.state, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectKeyAndNameValidation.ts b/src/version3/projectKeyAndNameValidation.ts index fc7392e348..3b7552d087 100644 --- a/src/version3/projectKeyAndNameValidation.ts +++ b/src/version3/projectKeyAndNameValidation.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectKeyAndNameValidation { constructor(private client: Client) {} @@ -27,19 +27,18 @@ export class ProjectKeyAndNameValidation { ): Promise; async validateProjectKey( parameters?: Parameters.ValidateProjectKey | string, - callback?: Callback, ): Promise { const key = typeof parameters === 'string' ? parameters : parameters?.key; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/projectvalidate/key', method: 'GET', - params: { + query: { key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -60,21 +59,18 @@ export class ProjectKeyAndNameValidation { parameters?: Parameters.GetValidProjectKey | string, callback?: never, ): Promise; - async getValidProjectKey( - parameters?: Parameters.GetValidProjectKey | string, - callback?: Callback, - ): Promise { + async getValidProjectKey(parameters?: Parameters.GetValidProjectKey | string): Promise { const key = typeof parameters === 'string' ? parameters : parameters?.key; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/projectvalidate/validProjectKey', method: 'GET', - params: { + query: { key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,20 +95,17 @@ export class ProjectKeyAndNameValidation { parameters: Parameters.GetValidProjectName | string, callback?: never, ): Promise; - async getValidProjectName( - parameters: Parameters.GetValidProjectName | string, - callback?: Callback, - ): Promise { + async getValidProjectName(parameters: Parameters.GetValidProjectName | string): Promise { const name = typeof parameters === 'string' ? parameters : parameters.name; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/projectvalidate/validProjectName', method: 'GET', - params: { + query: { name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectPermissionSchemes.ts b/src/version3/projectPermissionSchemes.ts index ee3af66dfc..e0f16959fb 100644 --- a/src/version3/projectPermissionSchemes.ts +++ b/src/version3/projectPermissionSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectPermissionSchemes { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class ProjectPermissionSchemes { ): Promise; async getProjectIssueSecurityScheme( parameters: Parameters.GetProjectIssueSecurityScheme | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectKeyOrId}/issuesecuritylevelscheme`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,19 +66,18 @@ export class ProjectPermissionSchemes { ): Promise; async getAssignedPermissionScheme( parameters: Parameters.GetAssignedPermissionScheme | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectKeyOrId}/permissionscheme`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,20 +104,19 @@ export class ProjectPermissionSchemes { ): Promise; async assignPermissionScheme( parameters: Parameters.AssignPermissionScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectKeyOrId}/permissionscheme`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { id: parameters.id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,15 +151,14 @@ export class ProjectPermissionSchemes { ): Promise; async getSecurityLevelsForProject( parameters: Parameters.GetSecurityLevelsForProject | string, - callback?: Callback, ): Promise { const projectKeyOrId = typeof parameters === 'string' ? parameters : parameters.projectKeyOrId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectKeyOrId}/securitylevel`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectProperties.ts b/src/version3/projectProperties.ts index 379be75cf1..3669027b4c 100644 --- a/src/version3/projectProperties.ts +++ b/src/version3/projectProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectProperties { constructor(private client: Client) {} @@ -37,16 +37,15 @@ export class ProjectProperties { ): Promise; async getProjectPropertyKeys( parameters: Parameters.GetProjectPropertyKeys | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/properties`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,16 +74,13 @@ export class ProjectProperties { parameters: Parameters.GetProjectProperty, callback?: never, ): Promise; - async getProjectProperty( - parameters: Parameters.GetProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjectProperty(parameters: Parameters.GetProjectProperty): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -120,17 +116,14 @@ export class ProjectProperties { * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created. */ async setProjectProperty(parameters: Parameters.SetProjectProperty, callback?: never): Promise; - async setProjectProperty( - parameters: Parameters.SetProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setProjectProperty(parameters: Parameters.SetProjectProperty): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'PUT', - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -160,15 +153,12 @@ export class ProjectProperties { * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property. */ async deleteProjectProperty(parameters: Parameters.DeleteProjectProperty, callback?: never): Promise; - async deleteProjectProperty( - parameters: Parameters.DeleteProjectProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteProjectProperty(parameters: Parameters.DeleteProjectProperty): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/properties/${parameters.propertyKey}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectRoleActors.ts b/src/version3/projectRoleActors.ts index 31eaa7022a..c8afd22cd8 100644 --- a/src/version3/projectRoleActors.ts +++ b/src/version3/projectRoleActors.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectRoleActors { constructor(private client: Client) {} @@ -36,21 +36,18 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addActorUsers(parameters: Parameters.AddActorUsers, callback?: never): Promise; - async addActorUsers( - parameters: Parameters.AddActorUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addActorUsers(parameters: Parameters.AddActorUsers): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'POST', - data: { + body: { group: parameters.group, groupId: parameters.groupId, user: parameters.user, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,16 +72,16 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async setActors(parameters: Parameters.SetActors, callback?: never): Promise; - async setActors(parameters: Parameters.SetActors, callback?: Callback): Promise { - const config: RequestConfig = { + async setActors(parameters: Parameters.SetActors): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'PUT', - data: { + body: { categorisedActors: parameters.categorisedActors, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -113,18 +110,18 @@ export class ProjectRoleActors { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteActor(parameters: Parameters.DeleteActor, callback?: never): Promise; - async deleteActor(parameters: Parameters.DeleteActor, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteActor(parameters: Parameters.DeleteActor): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'DELETE', - params: { + query: { user: parameters.user, group: parameters.group, groupId: parameters.groupId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -149,16 +146,15 @@ export class ProjectRoleActors { ): Promise; async getProjectRoleActorsForRole( parameters: Parameters.GetProjectRoleActorsForRole | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${id}/actors`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -189,19 +185,18 @@ export class ProjectRoleActors { ): Promise; async addProjectRoleActorsToRole( parameters: Parameters.AddProjectRoleActorsToRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${parameters.id}/actors`, method: 'POST', - data: { + body: { group: parameters.group, groupId: parameters.groupId, user: parameters.user, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -232,18 +227,17 @@ export class ProjectRoleActors { ): Promise; async deleteProjectRoleActorsFromRole( parameters: Parameters.DeleteProjectRoleActorsFromRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${parameters.id}/actors`, method: 'DELETE', - params: { + query: { user: parameters.user, groupId: parameters.groupId, group: parameters.group, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectRoles.ts b/src/version3/projectRoles.ts index 51b6cfeab3..cb17c2e618 100644 --- a/src/version3/projectRoles.ts +++ b/src/version3/projectRoles.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectRoles { constructor(private client: Client) {} @@ -45,16 +45,15 @@ export class ProjectRoles { ): Promise; async getProjectRoles>( parameters: Parameters.GetProjectRoles | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/role`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -90,19 +89,16 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getProjectRole(parameters: Parameters.GetProjectRole, callback?: never): Promise; - async getProjectRole( - parameters: Parameters.GetProjectRole, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getProjectRole(parameters: Parameters.GetProjectRole): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}/role/${parameters.id}`, method: 'GET', - params: { + query: { excludeInactiveUsers: parameters.excludeInactiveUsers, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -135,20 +131,19 @@ export class ProjectRoles { ): Promise; async getProjectRoleDetails( parameters: Parameters.GetProjectRoleDetails | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/roledetails`, method: 'GET', - params: { + query: { currentMember: typeof parameters !== 'string' && parameters.currentMember, excludeConnectAddons: typeof parameters !== 'string' && parameters.excludeConnectAddons, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,13 +212,13 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllProjectRoles(callback?: never): Promise; - async getAllProjectRoles(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectRoles(): Promise { + const config: Request = { url: '/rest/api/3/role', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -256,20 +251,17 @@ export class ProjectRoles { parameters: Parameters.CreateProjectRole, callback?: never, ): Promise; - async createProjectRole( - parameters: Parameters.CreateProjectRole, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProjectRole(parameters: Parameters.CreateProjectRole): Promise { + const config: Request = { url: '/rest/api/3/role', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -296,16 +288,15 @@ export class ProjectRoles { ): Promise; async getProjectRoleById( parameters: Parameters.GetProjectRoleById | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${id}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -336,18 +327,17 @@ export class ProjectRoles { ): Promise; async partialUpdateProjectRole( parameters: Parameters.PartialUpdateProjectRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${parameters.id}`, method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -372,18 +362,17 @@ export class ProjectRoles { ): Promise; async fullyUpdateProjectRole( parameters: Parameters.FullyUpdateProjectRole, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${parameters.id}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -405,20 +394,17 @@ export class ProjectRoles { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteProjectRole(parameters: Parameters.DeleteProjectRole | string, callback?: never): Promise; - async deleteProjectRole( - parameters: Parameters.DeleteProjectRole | string, - callback?: Callback, - ): Promise { + async deleteProjectRole(parameters: Parameters.DeleteProjectRole | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/role/${id}`, method: 'DELETE', - params: { + query: { swap: typeof parameters !== 'string' && parameters.swap, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectTemplates.ts b/src/version3/projectTemplates.ts index 521c2419e8..583e77ac0a 100644 --- a/src/version3/projectTemplates.ts +++ b/src/version3/projectTemplates.ts @@ -1,7 +1,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectTemplates { constructor(private client: Client) {} @@ -54,17 +54,16 @@ export class ProjectTemplates { ): Promise; async createProjectWithCustomTemplate( parameters: Parameters.CreateProjectWithCustomTemplate, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/project-template', method: 'POST', - data: { + body: { details: parameters.details, template: parameters.template, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectTypes.ts b/src/version3/projectTypes.ts index 8500c99057..13dc481713 100644 --- a/src/version3/projectTypes.ts +++ b/src/version3/projectTypes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectTypes { constructor(private client: Client) {} @@ -25,26 +25,26 @@ export class ProjectTypes { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getAllProjectTypes(callback?: never): Promise; - async getAllProjectTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllProjectTypes(): Promise { + const config: Request = { url: '/rest/api/3/project/type', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */ async getAllAccessibleProjectTypes(callback: Callback): Promise; /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */ async getAllAccessibleProjectTypes(callback?: never): Promise; - async getAllAccessibleProjectTypes(callback?: Callback): Promise { - const config: RequestConfig = { + async getAllAccessibleProjectTypes(): Promise { + const config: Request = { url: '/rest/api/3/project/type/accessible', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -71,16 +71,15 @@ export class ProjectTypes { ): Promise; async getProjectTypeByKey( parameters: Parameters.GetProjectTypeByKey | string, - callback?: Callback, ): Promise { const projectTypeKey = typeof parameters === 'string' ? parameters : parameters.projectTypeKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/type/${projectTypeKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -105,15 +104,14 @@ export class ProjectTypes { ): Promise; async getAccessibleProjectTypeByKey( parameters: Parameters.GetAccessibleProjectTypeByKey | string, - callback?: Callback, ): Promise { const projectTypeKey = typeof parameters === 'string' ? parameters : parameters.projectTypeKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/type/${projectTypeKey}/accessible`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projectVersions.ts b/src/version3/projectVersions.ts index 03c0032fc3..d566f32de3 100644 --- a/src/version3/projectVersions.ts +++ b/src/version3/projectVersions.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ProjectVersions { constructor(private client: Client) {} @@ -37,14 +37,13 @@ export class ProjectVersions { ): Promise; async getProjectVersionsPaginated( parameters: Parameters.GetProjectVersionsPaginated | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/version`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, orderBy: typeof parameters !== 'string' && parameters.orderBy, @@ -54,7 +53,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -87,19 +86,18 @@ export class ProjectVersions { ): Promise; async getProjectVersions( parameters: Parameters.GetProjectVersions | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/versions`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -122,14 +120,11 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to. */ async createVersion(parameters: Parameters.CreateVersion, callback?: never): Promise; - async createVersion( - parameters: Parameters.CreateVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createVersion(parameters: Parameters.CreateVersion): Promise { + const config: Request = { url: '/rest/api/3/version', method: 'POST', - data: { + body: { approvers: parameters.approvers, archived: parameters.archived, description: parameters.description, @@ -151,7 +146,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -175,21 +170,18 @@ export class ProjectVersions { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version. */ async getVersion(parameters: Parameters.GetVersion | string, callback?: never): Promise; - async getVersion( - parameters: Parameters.GetVersion | string, - callback?: Callback, - ): Promise { + async getVersion(parameters: Parameters.GetVersion | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/version/${id}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -212,14 +204,11 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async updateVersion(parameters: Parameters.UpdateVersion, callback?: never): Promise; - async updateVersion( - parameters: Parameters.UpdateVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateVersion(parameters: Parameters.UpdateVersion): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}`, method: 'PUT', - data: { + body: { approvers: parameters.approvers, driver: parameters.driver, expand: parameters.expand, @@ -234,7 +223,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -265,13 +254,13 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async mergeVersions(parameters: Parameters.MergeVersions, callback?: never): Promise; - async mergeVersions(parameters: Parameters.MergeVersions, callback?: Callback): Promise { - const config: RequestConfig = { + async mergeVersions(parameters: Parameters.MergeVersions): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/mergeto/${parameters.moveIssuesTo}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -292,17 +281,17 @@ export class ProjectVersions { * projects_ project permission for the project that contains the version. */ async moveVersion(parameters: Parameters.MoveVersion, callback?: never): Promise; - async moveVersion(parameters: Parameters.MoveVersion, callback?: Callback): Promise { - const config: RequestConfig = { + async moveVersion(parameters: Parameters.MoveVersion): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/move`, method: 'POST', - data: { + body: { after: parameters.after, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -339,16 +328,15 @@ export class ProjectVersions { ): Promise; async getVersionRelatedIssues( parameters: Parameters.GetVersionRelatedIssues | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/version/${id}/relatedIssueCounts`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -375,16 +363,13 @@ export class ProjectVersions { parameters: Parameters.GetRelatedWork, callback?: never, ): Promise; - async getRelatedWork( - parameters: Parameters.GetRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getRelatedWork(parameters: Parameters.GetRelatedWork): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/relatedwork`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -417,14 +402,11 @@ export class ProjectVersions { parameters: Parameters.CreateRelatedWork, callback?: never, ): Promise; - async createRelatedWork( - parameters: Parameters.CreateRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createRelatedWork(parameters: Parameters.CreateRelatedWork): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/relatedwork`, method: 'POST', - data: { + body: { category: parameters.category, issueId: parameters.issueId, relatedWorkId: parameters.relatedWorkId, @@ -433,7 +415,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -466,14 +448,11 @@ export class ProjectVersions { parameters: Parameters.UpdateRelatedWork, callback?: never, ): Promise; - async updateRelatedWork( - parameters: Parameters.UpdateRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateRelatedWork(parameters: Parameters.UpdateRelatedWork): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/relatedwork`, method: 'PUT', - data: { + body: { category: parameters.category, issueId: parameters.issueId, relatedWorkId: parameters.relatedWorkId, @@ -482,7 +461,7 @@ export class ProjectVersions { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -520,21 +499,18 @@ export class ProjectVersions { * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version. */ async deleteAndReplaceVersion(parameters: Parameters.DeleteAndReplaceVersion, callback?: never): Promise; - async deleteAndReplaceVersion( - parameters: Parameters.DeleteAndReplaceVersion, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteAndReplaceVersion(parameters: Parameters.DeleteAndReplaceVersion): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.id}/removeAndSwap`, method: 'POST', - data: { + body: { customFieldReplacementList: parameters.customFieldReplacementList, moveAffectedIssuesTo: parameters.moveAffectedIssuesTo, moveFixIssuesTo: parameters.moveFixIssuesTo, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -563,16 +539,15 @@ export class ProjectVersions { ): Promise; async getVersionUnresolvedIssues( parameters: Parameters.GetVersionUnresolvedIssues | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/version/${id}/unresolvedIssueCount`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -597,15 +572,12 @@ export class ProjectVersions { * project that contains the version. */ async deleteRelatedWork(parameters: Parameters.DeleteRelatedWork, callback?: never): Promise; - async deleteRelatedWork( - parameters: Parameters.DeleteRelatedWork, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteRelatedWork(parameters: Parameters.DeleteRelatedWork): Promise { + const config: Request = { url: `/rest/api/3/version/${parameters.versionId}/relatedwork/${parameters.relatedWorkId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/projects.ts b/src/version3/projects.ts index 53f044f42a..8ccc424986 100644 --- a/src/version3/projects.ts +++ b/src/version3/projects.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Projects { constructor(private client: Client) {} @@ -61,14 +61,11 @@ export class Projects { parameters: Parameters.CreateProject, callback?: never, ): Promise; - async createProject( - parameters: Parameters.CreateProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createProject(parameters: Parameters.CreateProject): Promise { + const config: Request = { url: '/rest/api/3/project', method: 'POST', - data: { + body: { assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, categoryId: parameters.categoryId, @@ -89,7 +86,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -121,17 +118,17 @@ export class Projects { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getRecent(parameters?: Parameters.GetRecent, callback?: never): Promise; - async getRecent(parameters?: Parameters.GetRecent, callback?: Callback): Promise { - const config: RequestConfig = { + async getRecent(parameters?: Parameters.GetRecent): Promise { + const config: Request = { url: '/rest/api/3/project/recent', method: 'GET', - params: { + query: { expand: parameters?.expand, properties: parameters?.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,14 +162,11 @@ export class Projects { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async searchProjects(parameters?: Parameters.SearchProjects, callback?: never): Promise; - async searchProjects( - parameters?: Parameters.SearchProjects, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchProjects(parameters?: Parameters.SearchProjects): Promise { + const config: Request = { url: '/rest/api/3/project/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, orderBy: parameters?.orderBy, @@ -189,7 +183,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -213,22 +207,19 @@ export class Projects { * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. */ async getProject(parameters: Parameters.GetProject | string, callback?: never): Promise; - async getProject( - parameters: Parameters.GetProject | string, - callback?: Callback, - ): Promise { + async getProject(parameters: Parameters.GetProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}`, method: 'GET', - params: { + query: { expand: typeof parameters !== 'string' && parameters.expand, properties: typeof parameters !== 'string' && parameters.properties, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -255,17 +246,14 @@ export class Projects { * permission](https://confluence.atlassian.com/x/yodKLg) */ async updateProject(parameters: Parameters.UpdateProject, callback?: never): Promise; - async updateProject( - parameters: Parameters.UpdateProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateProject(parameters: Parameters.UpdateProject): Promise { + const config: Request = { url: `/rest/api/3/project/${parameters.projectIdOrKey}`, method: 'PUT', - params: { + query: { expand: parameters.expand, }, - data: { + body: { assigneeType: parameters.assigneeType, avatarId: parameters.avatarId, categoryId: parameters.categoryId, @@ -283,7 +271,7 @@ export class Projects { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -306,21 +294,18 @@ export class Projects { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteProject(parameters: Parameters.DeleteProject | string, callback?: never): Promise; - async deleteProject( - parameters: Parameters.DeleteProject | string, - callback?: Callback, - ): Promise { + async deleteProject(parameters: Parameters.DeleteProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}`, method: 'DELETE', - params: { + query: { enableUndo: typeof parameters !== 'string' && parameters.enableUndo, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -339,18 +324,15 @@ export class Projects { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async archiveProject(parameters: Parameters.ArchiveProject | string, callback?: never): Promise; - async archiveProject( - parameters: Parameters.ArchiveProject | string, - callback?: Callback, - ): Promise { + async archiveProject(parameters: Parameters.ArchiveProject | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/archive`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -389,16 +371,15 @@ export class Projects { ): Promise; async deleteProjectAsynchronously( parameters: Parameters.DeleteProjectAsynchronously | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/delete`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -421,18 +402,15 @@ export class Projects { * permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects. */ async restore(parameters: Parameters.Restore | string, callback?: never): Promise; - async restore( - parameters: Parameters.Restore | string, - callback?: Callback, - ): Promise { + async restore(parameters: Parameters.Restore | string): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/restore`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -463,16 +441,15 @@ export class Projects { ): Promise; async getAllStatuses( parameters: Parameters.GetAllStatuses | string, - callback?: Callback, ): Promise { const projectIdOrKey = typeof parameters === 'string' ? parameters : parameters.projectIdOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectIdOrKey}/statuses`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -513,16 +490,15 @@ export class Projects { ): Promise; async getHierarchy( parameters: Parameters.GetHierarchy | string, - callback?: Callback, ): Promise { const projectId = typeof parameters === 'string' ? parameters : parameters.projectId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${projectId}/hierarchy`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -549,16 +525,15 @@ export class Projects { ): Promise; async getNotificationSchemeForProject( parameters: Parameters.GetNotificationSchemeForProject, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/project/${parameters.projectKeyOrId}/notificationscheme`, method: 'GET', - params: { + query: { expand: parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/screenSchemes.ts b/src/version3/screenSchemes.ts index 381115c99a..c74c08f5ae 100644 --- a/src/version3/screenSchemes.ts +++ b/src/version3/screenSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ScreenSchemes { constructor(private client: Client) {} @@ -33,14 +33,11 @@ export class ScreenSchemes { parameters?: Parameters.GetScreenSchemes, callback?: never, ): Promise; - async getScreenSchemes( - parameters?: Parameters.GetScreenSchemes, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getScreenSchemes(parameters?: Parameters.GetScreenSchemes): Promise { + const config: Request = { url: '/rest/api/3/screenscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -50,7 +47,7 @@ export class ScreenSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,21 +72,20 @@ export class ScreenSchemes { ): Promise; async createScreenScheme( parameters: Parameters.CreateScreenScheme | string, - callback?: Callback, ): Promise { const name = typeof parameters === 'string' ? parameters : parameters.name; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/screenscheme', method: 'POST', - data: { + body: { name, description: typeof parameters !== 'string' && parameters.description, screens: typeof parameters !== 'string' && parameters.screens, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -106,21 +102,18 @@ export class ScreenSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateScreenScheme(parameters: Parameters.UpdateScreenScheme, callback?: never): Promise; - async updateScreenScheme( - parameters: Parameters.UpdateScreenScheme, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateScreenScheme(parameters: Parameters.UpdateScreenScheme): Promise { + const config: Request = { url: `/rest/api/3/screenscheme/${parameters.screenSchemeId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, screens: parameters.screens, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -144,17 +137,14 @@ export class ScreenSchemes { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteScreenScheme(parameters: Parameters.DeleteScreenScheme | string, callback?: never): Promise; - async deleteScreenScheme( - parameters: Parameters.DeleteScreenScheme | string, - callback?: Callback, - ): Promise { + async deleteScreenScheme(parameters: Parameters.DeleteScreenScheme | string): Promise { const screenSchemeId = typeof parameters === 'string' ? parameters : parameters.screenSchemeId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screenscheme/${screenSchemeId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/screenTabFields.ts b/src/version3/screenTabFields.ts index 93a17c089e..181e19826f 100644 --- a/src/version3/screenTabFields.ts +++ b/src/version3/screenTabFields.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ScreenTabFields { constructor(private client: Client) {} @@ -37,17 +37,16 @@ export class ScreenTabFields { ): Promise; async getAllScreenTabFields( parameters: Parameters.GetAllScreenTabFields, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields`, method: 'GET', - params: { + query: { projectKey: parameters.projectKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,19 +69,16 @@ export class ScreenTabFields { parameters: Parameters.AddScreenTabField, callback?: never, ): Promise; - async addScreenTabField( - parameters: Parameters.AddScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addScreenTabField(parameters: Parameters.AddScreenTabField): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields`, method: 'POST', - data: { + body: { fieldId: parameters.fieldId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -102,16 +98,13 @@ export class ScreenTabFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeScreenTabField(parameters: Parameters.RemoveScreenTabField, callback?: never): Promise; - async removeScreenTabField( - parameters: Parameters.RemoveScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeScreenTabField(parameters: Parameters.RemoveScreenTabField): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields/${parameters.id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -132,19 +125,16 @@ export class ScreenTabFields { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveScreenTabField(parameters: Parameters.MoveScreenTabField, callback?: never): Promise; - async moveScreenTabField( - parameters: Parameters.MoveScreenTabField, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async moveScreenTabField(parameters: Parameters.MoveScreenTabField): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}/fields/${parameters.id}/move`, method: 'POST', - data: { + body: { after: parameters.after, position: parameters.position, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/screenTabs.ts b/src/version3/screenTabs.ts index ef8a35c10c..26a0853290 100644 --- a/src/version3/screenTabs.ts +++ b/src/version3/screenTabs.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; import { paramSerializer } from '../paramSerializer'; export class ScreenTabs { @@ -27,14 +27,11 @@ export class ScreenTabs { * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getBulkScreenTabs(parameters?: Parameters.GetBulkScreenTabs, callback?: never): Promise; - async getBulkScreenTabs( - parameters?: Parameters.GetBulkScreenTabs, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getBulkScreenTabs(parameters?: Parameters.GetBulkScreenTabs): Promise { + const config: Request = { url: '/rest/api/3/screens/tabs', method: 'GET', - params: { + query: { screenId: paramSerializer('screenId', parameters?.screenId), tabId: parameters?.tabId, startAt: parameters?.startAt, @@ -42,7 +39,7 @@ export class ScreenTabs { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -75,19 +72,18 @@ export class ScreenTabs { ): Promise; async getAllScreenTabs( parameters: Parameters.GetAllScreenTabs | string, - callback?: Callback, ): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screens/${screenId}/tabs`, method: 'GET', - params: { + query: { projectKey: typeof parameters !== 'string' && parameters.projectKey, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -107,20 +103,17 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addScreenTab(parameters: Parameters.AddScreenTab, callback?: never): Promise; - async addScreenTab( - parameters: Parameters.AddScreenTab, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async addScreenTab(parameters: Parameters.AddScreenTab): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs`, method: 'POST', - data: { + body: { id: parameters.id, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -140,20 +133,17 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async renameScreenTab(parameters: Parameters.RenameScreenTab, callback?: never): Promise; - async renameScreenTab( - parameters: Parameters.RenameScreenTab, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async renameScreenTab(parameters: Parameters.RenameScreenTab): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}`, method: 'PUT', - data: { + body: { id: parameters.id, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -170,13 +160,13 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deleteScreenTab(parameters: Parameters.DeleteScreenTab, callback?: never): Promise; - async deleteScreenTab(parameters: Parameters.DeleteScreenTab, callback?: Callback): Promise { - const config: RequestConfig = { + async deleteScreenTab(parameters: Parameters.DeleteScreenTab): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -193,12 +183,12 @@ export class ScreenTabs { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async moveScreenTab(parameters: Parameters.MoveScreenTab, callback?: never): Promise; - async moveScreenTab(parameters: Parameters.MoveScreenTab, callback?: Callback): Promise { - const config: RequestConfig = { + async moveScreenTab(parameters: Parameters.MoveScreenTab): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}/tabs/${parameters.tabId}/move/${parameters.pos}`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/screens.ts b/src/version3/screens.ts index 2138881ec8..c00d483a2b 100644 --- a/src/version3/screens.ts +++ b/src/version3/screens.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Screens { constructor(private client: Client) {} @@ -31,21 +31,20 @@ export class Screens { ): Promise; async getScreensForField( parameters: Parameters.GetScreensForField | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/field/${fieldId}/screens`, method: 'GET', - params: { + query: { startAt: typeof parameters !== 'string' && parameters.startAt, maxResults: typeof parameters !== 'string' && parameters.maxResults, expand: typeof parameters !== 'string' && parameters.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,14 +66,11 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getScreens(parameters?: Parameters.GetScreens, callback?: never): Promise; - async getScreens( - parameters?: Parameters.GetScreens, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getScreens(parameters?: Parameters.GetScreens): Promise { + const config: Request = { url: '/rest/api/3/screens', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, id: parameters?.id, @@ -84,7 +80,7 @@ export class Screens { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -101,20 +97,17 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createScreen(parameters: Parameters.CreateScreen, callback?: never): Promise; - async createScreen( - parameters: Parameters.CreateScreen, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createScreen(parameters: Parameters.CreateScreen): Promise { + const config: Request = { url: '/rest/api/3/screens', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,16 +132,15 @@ export class Screens { ): Promise; async addFieldToDefaultScreen( parameters: Parameters.AddFieldToDefaultScreen | string, - callback?: Callback, ): Promise { const fieldId = typeof parameters === 'string' ? parameters : parameters.fieldId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screens/addToDefault/${fieldId}`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,20 +157,17 @@ export class Screens { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async updateScreen(parameters: Parameters.UpdateScreen, callback?: never): Promise; - async updateScreen( - parameters: Parameters.UpdateScreen, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateScreen(parameters: Parameters.UpdateScreen): Promise { + const config: Request = { url: `/rest/api/3/screens/${parameters.screenId}`, method: 'PUT', - data: { + body: { description: parameters.description, name: parameters.name, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -193,18 +182,15 @@ export class Screens { * Only screens used in classic projects can be deleted. */ async deleteScreen(parameters: Parameters.DeleteScreen | string, callback?: never): Promise; - async deleteScreen( - parameters: Parameters.DeleteScreen | string, - callback?: Callback, - ): Promise { + async deleteScreen(parameters: Parameters.DeleteScreen | string): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screens/${screenId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -229,15 +215,14 @@ export class Screens { ): Promise; async getAvailableScreenFields( parameters: Parameters.GetAvailableScreenFields | string, - callback?: Callback, ): Promise { const screenId = typeof parameters === 'string' ? parameters : parameters.screenId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/screens/${screenId}/availableFields`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/serverInfo.ts b/src/version3/serverInfo.ts index 863a911c05..0d29a9c4a4 100644 --- a/src/version3/serverInfo.ts +++ b/src/version3/serverInfo.ts @@ -1,7 +1,7 @@ import type * as Models from './models'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ServerInfo { constructor(private client: Client) {} @@ -22,12 +22,12 @@ export class ServerInfo { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None. */ async getServerInfo(callback?: never): Promise; - async getServerInfo(callback?: Callback): Promise { - const config: RequestConfig = { + async getServerInfo(): Promise { + const config: Request = { url: '/rest/api/3/serverInfo', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/serviceRegistry.ts b/src/version3/serviceRegistry.ts index b9e674e970..3cee3f31ad 100644 --- a/src/version3/serviceRegistry.ts +++ b/src/version3/serviceRegistry.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class ServiceRegistry { constructor(private client: Client) {} @@ -21,18 +21,15 @@ export class ServiceRegistry { * Connect apps can make this request and the servicesIds belong to the tenant you are requesting */ async services(parameters: Parameters.Services, callback?: never): Promise; - async services( - parameters: Parameters.Services, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async services(parameters: Parameters.Services): Promise { + const config: Request = { url: '/rest/atlassian-connect/1/service-registry', method: 'GET', - params: { + query: { serviceIds: parameters.serviceIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/status.ts b/src/version3/status.ts index 26639a34a5..ba4611b49b 100644 --- a/src/version3/status.ts +++ b/src/version3/status.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Status { constructor(private client: Client) {} @@ -31,22 +31,19 @@ export class Status { parameters: Parameters.GetStatusesById | string, callback?: never, ): Promise; - async getStatusesById( - parameters: Parameters.GetStatusesById | string, - callback?: Callback, - ): Promise { + async getStatusesById(parameters: Parameters.GetStatusesById | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/statuses', method: 'GET', - params: { + query: { id, expand: typeof parameters !== 'string' ? parameters.expand : undefined, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -70,20 +67,17 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async createStatuses(parameters: Parameters.CreateStatuses, callback?: never): Promise; - async createStatuses( - parameters: Parameters.CreateStatuses, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createStatuses(parameters: Parameters.CreateStatuses): Promise { + const config: Request = { url: '/rest/api/3/statuses', method: 'POST', - data: { + body: { scope: parameters.scope, statuses: parameters.statuses, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -104,16 +98,16 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async updateStatuses(parameters: Parameters.UpdateStatuses, callback?: never): Promise; - async updateStatuses(parameters: Parameters.UpdateStatuses, callback?: Callback): Promise { - const config: RequestConfig = { + async updateStatuses(parameters: Parameters.UpdateStatuses): Promise { + const config: Request = { url: '/rest/api/3/statuses', method: 'PUT', - data: { + body: { statuses: parameters.statuses, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -137,21 +131,18 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async deleteStatusesById(parameters: Parameters.DeleteStatusesById | string, callback?: never): Promise; - async deleteStatusesById( - parameters: Parameters.DeleteStatusesById | string, - callback?: Callback, - ): Promise { + async deleteStatusesById(parameters: Parameters.DeleteStatusesById | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/statuses', method: 'DELETE', - params: { + query: { id, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -177,11 +168,11 @@ export class Status { * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg) */ async search(parameters?: Parameters.Search, callback?: never): Promise; - async search(parameters?: Parameters.Search, callback?: Callback): Promise { - const config: RequestConfig = { + async search(parameters?: Parameters.Search): Promise { + const config: Request = { url: '/rest/api/3/statuses/search', method: 'GET', - params: { + query: { expand: parameters?.expand, projectId: parameters?.projectId, startAt: parameters?.startAt, @@ -191,7 +182,7 @@ export class Status { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of issue types in a project using a given status. */ @@ -206,18 +197,17 @@ export class Status { ): Promise; async getProjectIssueTypeUsagesForStatus( parameters: Parameters.GetProjectIssueTypeUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/statuses/${parameters.statusId}/project/${parameters.projectId}/issueTypeUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given status. */ @@ -232,18 +222,17 @@ export class Status { ): Promise; async getProjectUsagesForStatus( parameters: Parameters.GetProjectUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/statuses/${parameters.statusId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of workflows using a given status. */ @@ -258,17 +247,16 @@ export class Status { ): Promise; async getWorkflowUsagesForStatus( parameters: Parameters.GetWorkflowUsagesForStatus, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/statuses/${parameters.statusId}/workflowUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/tasks.ts b/src/version3/tasks.ts index 4b5a885a8c..a81943e6dd 100644 --- a/src/version3/tasks.ts +++ b/src/version3/tasks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Tasks { constructor(private client: Client) {} @@ -48,18 +48,15 @@ export class Tasks { * - Creator of the task. */ async getTask(parameters: Parameters.GetTask | string, callback?: never): Promise; - async getTask( - parameters: Parameters.GetTask | string, - callback?: Callback, - ): Promise { + async getTask(parameters: Parameters.GetTask | string): Promise { const taskId = typeof parameters === 'string' ? parameters : parameters.taskId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/task/${taskId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -82,14 +79,14 @@ export class Tasks { * - Creator of the task. */ async cancelTask(parameters: Parameters.CancelTask | string, callback?: never): Promise; - async cancelTask(parameters: Parameters.CancelTask | string, callback?: Callback): Promise { + async cancelTask(parameters: Parameters.CancelTask | string): Promise { const taskId = typeof parameters === 'string' ? parameters : parameters.taskId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/task/${taskId}/cancel`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/teamsInPlan.ts b/src/version3/teamsInPlan.ts index 95d729f75f..9f55105e91 100644 --- a/src/version3/teamsInPlan.ts +++ b/src/version3/teamsInPlan.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class TeamsInPlan { constructor(private client: Client) {} @@ -29,20 +29,17 @@ export class TeamsInPlan { parameters: Parameters.GetTeams, callback?: never, ): Promise; - async getTeams( - parameters: Parameters.GetTeams, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getTeams(parameters: Parameters.GetTeams): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team`, method: 'GET', - params: { + query: { cursor: parameters.cursor, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -59,11 +56,11 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam, callback?: never): Promise; - async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam, callback?: Callback): Promise { - const config: RequestConfig = { + async addAtlassianTeam(parameters: Parameters.AddAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/atlassian`, method: 'POST', - data: { + body: { capacity: parameters.capacity, id: parameters.id, issueSourceId: parameters.issueSourceId, @@ -72,7 +69,7 @@ export class TeamsInPlan { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -97,14 +94,13 @@ export class TeamsInPlan { ): Promise; async getAtlassianTeam( parameters: Parameters.GetAtlassianTeam, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,16 +135,13 @@ export class TeamsInPlan { * endpoint to find out the order of array elements._ */ async updateAtlassianTeam(parameters: Parameters.UpdateAtlassianTeam, callback?: never): Promise; - async updateAtlassianTeam( - parameters: Parameters.UpdateAtlassianTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateAtlassianTeam(parameters: Parameters.UpdateAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -165,16 +158,13 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async removeAtlassianTeam(parameters: Parameters.RemoveAtlassianTeam, callback?: never): Promise; - async removeAtlassianTeam( - parameters: Parameters.RemoveAtlassianTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async removeAtlassianTeam(parameters: Parameters.RemoveAtlassianTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/atlassian/${parameters.atlassianTeamId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -194,14 +184,11 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createPlanOnlyTeam(parameters: Parameters.CreatePlanOnlyTeam, callback?: never): Promise; - async createPlanOnlyTeam( - parameters: Parameters.CreatePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createPlanOnlyTeam(parameters: Parameters.CreatePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/planonly`, method: 'POST', - data: { + body: { capacity: parameters.capacity, issueSourceId: parameters.issueSourceId, memberAccountIds: parameters.memberAccountIds, @@ -211,7 +198,7 @@ export class TeamsInPlan { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -234,16 +221,13 @@ export class TeamsInPlan { parameters: Parameters.GetPlanOnlyTeam, callback?: never, ): Promise; - async getPlanOnlyTeam( - parameters: Parameters.GetPlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getPlanOnlyTeam(parameters: Parameters.GetPlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -282,16 +266,13 @@ export class TeamsInPlan { * endpoint to find out the order of array elements._ */ async updatePlanOnlyTeam(parameters: Parameters.UpdatePlanOnlyTeam, callback?: never): Promise; - async updatePlanOnlyTeam( - parameters: Parameters.UpdatePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updatePlanOnlyTeam(parameters: Parameters.UpdatePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'PUT', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -308,15 +289,12 @@ export class TeamsInPlan { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async deletePlanOnlyTeam(parameters: Parameters.DeletePlanOnlyTeam, callback?: never): Promise; - async deletePlanOnlyTeam( - parameters: Parameters.DeletePlanOnlyTeam, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deletePlanOnlyTeam(parameters: Parameters.DeletePlanOnlyTeam): Promise { + const config: Request = { url: `/rest/api/3/plans/plan/${parameters.planId}/team/planonly/${parameters.planOnlyTeamId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/timeTracking.ts b/src/version3/timeTracking.ts index aea80eb77b..f16ace3cd3 100644 --- a/src/version3/timeTracking.ts +++ b/src/version3/timeTracking.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class TimeTracking { constructor(private client: Client) {} @@ -23,13 +23,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getSelectedTimeTrackingImplementation(callback?: never): Promise; - async getSelectedTimeTrackingImplementation(callback?: Callback): Promise { - const config: RequestConfig = { + async getSelectedTimeTrackingImplementation(): Promise { + const config: Request = { url: '/rest/api/3/configuration/timetracking', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,19 +54,18 @@ export class TimeTracking { ): Promise; async selectTimeTrackingImplementation( parameters?: Parameters.SelectTimeTrackingImplementation, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/configuration/timetracking', method: 'PUT', - data: { + body: { key: parameters?.key, name: parameters?.name, url: parameters?.url, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -91,15 +90,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAvailableTimeTrackingImplementations(callback?: never): Promise; - async getAvailableTimeTrackingImplementations( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAvailableTimeTrackingImplementations(): Promise { + const config: Request = { url: '/rest/api/3/configuration/timetracking/list', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,15 +115,13 @@ export class TimeTracking { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getSharedTimeTrackingConfiguration(callback?: never): Promise; - async getSharedTimeTrackingConfiguration( - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getSharedTimeTrackingConfiguration(): Promise { + const config: Request = { url: '/rest/api/3/configuration/timetracking/options', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -151,12 +146,11 @@ export class TimeTracking { ): Promise; async setSharedTimeTrackingConfiguration( parameters: Parameters.SetSharedTimeTrackingConfiguration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/configuration/timetracking/options', method: 'PUT', - data: { + body: { defaultUnit: parameters.defaultUnit, timeFormat: parameters.timeFormat, workingDaysPerWeek: parameters.workingDaysPerWeek, @@ -164,6 +158,6 @@ export class TimeTracking { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/uIModificationsApps.ts b/src/version3/uIModificationsApps.ts index faf1b01d8d..cd0e597c9b 100644 --- a/src/version3/uIModificationsApps.ts +++ b/src/version3/uIModificationsApps.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UIModificationsApps { constructor(private client: Client) {} @@ -33,19 +33,18 @@ export class UIModificationsApps { ): Promise; async getUiModifications( parameters?: Parameters.GetUiModifications, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/uiModifications', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, expand: parameters?.expand, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -88,12 +87,11 @@ export class UIModificationsApps { ): Promise; async createUiModification( parameters: Parameters.CreateUiModification, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/uiModifications', method: 'POST', - data: { + body: { name: parameters.name, description: parameters.description, data: parameters.data, @@ -101,7 +99,7 @@ export class UIModificationsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -139,14 +137,11 @@ export class UIModificationsApps { * recommend adding it to your app's scope list because we will eventually make it mandatory. */ async updateUiModification(parameters: Parameters.UpdateUiModification, callback?: never): Promise; - async updateUiModification( - parameters: Parameters.UpdateUiModification, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateUiModification(parameters: Parameters.UpdateUiModification): Promise { + const config: Request = { url: `/rest/api/3/uiModifications/${parameters.uiModificationId}`, method: 'PUT', - data: { + body: { contexts: parameters.contexts, data: parameters.data, description: parameters.description, @@ -154,7 +149,7 @@ export class UIModificationsApps { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -183,17 +178,14 @@ export class UIModificationsApps { parameters: Parameters.DeleteUiModification | string, callback?: never, ): Promise; - async deleteUiModification( - parameters: Parameters.DeleteUiModification | string, - callback?: Callback, - ): Promise { + async deleteUiModification(parameters: Parameters.DeleteUiModification | string): Promise { const uiModificationId = typeof parameters === 'string' ? parameters : parameters.uiModificationId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/uiModifications/${uiModificationId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/userNavProperties.ts b/src/version3/userNavProperties.ts index d199087ce1..d44414a0ca 100644 --- a/src/version3/userNavProperties.ts +++ b/src/version3/userNavProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserNavProperties { constructor(private client: Client) {} @@ -35,19 +35,16 @@ export class UserNavProperties { parameters: Parameters.GetUserNavProperty, callback?: never, ): Promise; - async getUserNavProperty( - parameters: Parameters.GetUserNavProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserNavProperty(parameters: Parameters.GetUserNavProperty): Promise { + const config: Request = { url: `/rest/api/3/user/nav4-opt-property/${parameters.propertyKey}`, method: 'GET', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -73,18 +70,15 @@ export class UserNavProperties { * - Access to Jira, to set a property on the calling user's record. */ async setUserNavProperty(parameters: Parameters.SetUserNavProperty, callback?: never): Promise; - async setUserNavProperty( - parameters: Parameters.SetUserNavProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setUserNavProperty(parameters: Parameters.SetUserNavProperty): Promise { + const config: Request = { url: `/rest/api/3/user/nav4-opt-property/${parameters.propertyKey}`, method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/userProperties.ts b/src/version3/userProperties.ts index 98c01eccba..75c7fb1f6c 100644 --- a/src/version3/userProperties.ts +++ b/src/version3/userProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserProperties { constructor(private client: Client) {} @@ -39,21 +39,18 @@ export class UserProperties { parameters?: Parameters.GetUserPropertyKeys, callback?: never, ): Promise; - async getUserPropertyKeys( - parameters?: Parameters.GetUserPropertyKeys, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserPropertyKeys(parameters?: Parameters.GetUserPropertyKeys): Promise { + const config: Request = { url: '/rest/api/3/user/properties', method: 'GET', - params: { + query: { accountId: parameters?.accountId, userKey: parameters?.userKey, username: parameters?.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -88,21 +85,18 @@ export class UserProperties { parameters: Parameters.GetUserProperty, callback?: never, ): Promise; - async getUserProperty( - parameters: Parameters.GetUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserProperty(parameters: Parameters.GetUserProperty): Promise { + const config: Request = { url: `/rest/api/3/user/properties/${parameters.propertyKey}`, method: 'GET', - params: { + query: { accountId: parameters.accountId, userKey: parameters.userKey, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -129,20 +123,17 @@ export class UserProperties { * - Access to Jira, to set a property on the calling user's record. */ async setUserProperty(parameters: Parameters.SetUserProperty, callback?: never): Promise; - async setUserProperty( - parameters: Parameters.SetUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async setUserProperty(parameters: Parameters.SetUserProperty): Promise { + const config: Request = { url: `/rest/api/3/user/properties/${parameters.propertyKey}`, method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, - data: parameters.propertyValue, + body: parameters.propertyValue, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -171,20 +162,17 @@ export class UserProperties { * - Access to Jira, to delete a property from the calling user's record. */ async deleteUserProperty(parameters: Parameters.DeleteUserProperty, callback?: never): Promise; - async deleteUserProperty( - parameters: Parameters.DeleteUserProperty, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteUserProperty(parameters: Parameters.DeleteUserProperty): Promise { + const config: Request = { url: `/rest/api/3/user/properties/${parameters.propertyKey}`, method: 'DELETE', - params: { + query: { accountId: parameters.accountId, userKey: parameters.userKey, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/userSearch.ts b/src/version3/userSearch.ts index 75b4dd426c..30c69a1764 100644 --- a/src/version3/userSearch.ts +++ b/src/version3/userSearch.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class UserSearch { constructor(private client: Client) {} @@ -50,14 +50,11 @@ export class UserSearch { parameters: Parameters.FindBulkAssignableUsers, callback?: never, ): Promise; - async findBulkAssignableUsers( - parameters: Parameters.FindBulkAssignableUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findBulkAssignableUsers(parameters: Parameters.FindBulkAssignableUsers): Promise { + const config: Request = { url: '/rest/api/3/user/assignable/multiProjectSearch', method: 'GET', - params: { + query: { query: parameters.query, username: parameters.username, accountId: parameters.accountId, @@ -67,7 +64,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -130,14 +127,11 @@ export class UserSearch { parameters?: Parameters.FindAssignableUsers, callback?: never, ): Promise; - async findAssignableUsers( - parameters?: Parameters.FindAssignableUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findAssignableUsers(parameters?: Parameters.FindAssignableUsers): Promise { + const config: Request = { url: '/rest/api/3/user/assignable/search', method: 'GET', - params: { + query: { query: parameters?.query, sessionId: parameters?.sessionId, username: parameters?.username, @@ -152,7 +146,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -217,12 +211,11 @@ export class UserSearch { ): Promise; async findUsersWithAllPermissions( parameters: Parameters.FindUsersWithAllPermissions, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/permission/search', method: 'GET', - params: { + query: { query: parameters.query, username: parameters.username, accountId: parameters.accountId, @@ -234,7 +227,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -285,14 +278,11 @@ export class UserSearch { parameters: Parameters.FindUsersForPicker, callback?: never, ): Promise; - async findUsersForPicker( - parameters: Parameters.FindUsersForPicker, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUsersForPicker(parameters: Parameters.FindUsersForPicker): Promise { + const config: Request = { url: '/rest/api/3/user/picker', method: 'GET', - params: { + query: { query: parameters.query, maxResults: parameters.maxResults, showAvatar: parameters.showAvatar, @@ -302,7 +292,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -346,11 +336,11 @@ export class UserSearch { * without the required permission return empty search results. */ async findUsers(parameters?: Parameters.FindUsers, callback?: never): Promise; - async findUsers(parameters?: Parameters.FindUsers, callback?: Callback): Promise { - const config: RequestConfig = { + async findUsers(parameters?: Parameters.FindUsers): Promise { + const config: Request = { url: '/rest/api/3/user/search', method: 'GET', - params: { + query: { query: parameters?.query, username: parameters?.username, accountId: parameters?.accountId, @@ -360,7 +350,7 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -430,21 +420,18 @@ export class UserSearch { * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"` */ async findUsersByQuery(parameters: Parameters.FindUsersByQuery, callback?: never): Promise; - async findUsersByQuery( - parameters: Parameters.FindUsersByQuery, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUsersByQuery(parameters: Parameters.FindUsersByQuery): Promise { + const config: Request = { url: '/rest/api/3/user/search/query', method: 'GET', - params: { + query: { query: parameters.query, startAt: parameters.startAt, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -517,21 +504,18 @@ export class UserSearch { parameters: Parameters.FindUserKeysByQuery, callback?: never, ): Promise; - async findUserKeysByQuery( - parameters: Parameters.FindUserKeysByQuery, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async findUserKeysByQuery(parameters: Parameters.FindUserKeysByQuery): Promise { + const config: Request = { url: '/rest/api/3/user/search/query/key', method: 'GET', - params: { + query: { query: parameters.query, startAt: parameters.startAt, maxResult: parameters.maxResult || parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -598,12 +582,11 @@ export class UserSearch { ): Promise; async findUsersWithBrowsePermission( parameters?: Parameters.FindUsersWithBrowsePermission, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/viewissue/search', method: 'GET', - params: { + query: { query: parameters?.query, username: parameters?.username, accountId: parameters?.accountId, @@ -614,6 +597,6 @@ export class UserSearch { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/users.ts b/src/version3/users.ts index 18783621ae..ab9c89cb2c 100644 --- a/src/version3/users.ts +++ b/src/version3/users.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Users { constructor(private client: Client) {} @@ -30,11 +30,11 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getUser(parameters: Parameters.GetUser, callback?: never): Promise; - async getUser(parameters: Parameters.GetUser, callback?: Callback): Promise { - const config: RequestConfig = { + async getUser(parameters: Parameters.GetUser): Promise { + const config: Request = { url: '/rest/api/3/user', method: 'GET', - params: { + query: { accountId: parameters.accountId, username: parameters.username, key: parameters.key, @@ -42,7 +42,7 @@ export class Users { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,11 +67,11 @@ export class Users { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createUser(parameters: Parameters.CreateUser, callback?: never): Promise; - async createUser(parameters: Parameters.CreateUser, callback?: Callback): Promise { - const config: RequestConfig = { + async createUser(parameters: Parameters.CreateUser): Promise { + const config: Request = { url: '/rest/api/3/user', method: 'POST', - data: { + body: { emailAddress: parameters.emailAddress, products: parameters.products ? parameters.products @@ -80,7 +80,7 @@ export class Users { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -99,18 +99,18 @@ export class Users { * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)). */ async removeUser(parameters: Parameters.RemoveUser, callback?: never): Promise; - async removeUser(parameters: Parameters.RemoveUser, callback?: Callback): Promise { - const config: RequestConfig = { + async removeUser(parameters: Parameters.RemoveUser): Promise { + const config: Request = { url: '/rest/api/3/user', method: 'DELETE', - params: { + query: { accountId: parameters.accountId, username: parameters.username, key: parameters.key, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -129,21 +129,18 @@ export class Users { * Permission to access Jira. */ async bulkGetUsers(parameters: Parameters.BulkGetUsers, callback?: never): Promise; - async bulkGetUsers( - parameters: Parameters.BulkGetUsers, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async bulkGetUsers(parameters: Parameters.BulkGetUsers): Promise { + const config: Request = { url: '/rest/api/3/user/bulk', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, accountId: paramSerializer('accountId', parameters.accountId), }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -170,12 +167,11 @@ export class Users { ): Promise; async bulkGetUsersMigration( parameters: Parameters.BulkGetUsersMigration, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/bulk/migration', method: 'GET', - params: { + query: { key: paramSerializer('key', parameters.key), maxResults: parameters.maxResults, startAt: parameters.startAt, @@ -183,7 +179,7 @@ export class Users { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -216,17 +212,16 @@ export class Users { ): Promise; async getUserDefaultColumns( parameters?: Parameters.GetUserDefaultColumns, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/columns', method: 'GET', - params: { + query: { accountId: parameters?.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -251,17 +246,17 @@ export class Users { * - Permission to access Jira, to set the calling user's columns. */ async setUserColumns(parameters: Parameters.SetUserColumns, callback?: never): Promise; - async setUserColumns(parameters: Parameters.SetUserColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async setUserColumns(parameters: Parameters.SetUserColumns): Promise { + const config: Request = { url: '/rest/api/3/user/columns', method: 'PUT', - params: { + query: { accountId: parameters.accountId, }, - data: parameters.columns, + body: parameters.columns, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -284,17 +279,17 @@ export class Users { * - Permission to access Jira, to set the calling user's columns. */ async resetUserColumns(parameters: Parameters.ResetUserColumns, callback?: never): Promise; - async resetUserColumns(parameters: Parameters.ResetUserColumns, callback?: Callback): Promise { - const config: RequestConfig = { + async resetUserColumns(parameters: Parameters.ResetUserColumns): Promise { + const config: Request = { url: '/rest/api/3/user/columns', method: 'DELETE', - params: { + query: { accountId: parameters.accountId, username: parameters.username, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -319,19 +314,18 @@ export class Users { ): Promise; async getUserEmail( parameters: Parameters.GetUserEmail | string, - callback?: Callback, ): Promise { const accountId = typeof parameters === 'string' ? parameters : parameters.accountId; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/email', method: 'GET', - params: { + query: { accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -356,19 +350,18 @@ export class Users { ): Promise; async getUserEmailBulk( parameters: Parameters.GetUserEmailBulk | string, - callback?: Callback, ): Promise { const accountId = typeof parameters === 'string' ? parameters : parameters.accountId; - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/user/email/bulk', method: 'GET', - params: { + query: { accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -388,19 +381,16 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getUserGroups(parameters: Parameters.GetUserGroups, callback?: never): Promise; - async getUserGroups( - parameters: Parameters.GetUserGroups, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getUserGroups(parameters: Parameters.GetUserGroups): Promise { + const config: Request = { url: '/rest/api/3/user/groups', method: 'GET', - params: { + query: { accountId: parameters.accountId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -430,20 +420,17 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllUsersDefault(parameters?: Parameters.GetAllUsersDefault, callback?: never): Promise; - async getAllUsersDefault( - parameters?: Parameters.GetAllUsersDefault, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getAllUsersDefault(parameters?: Parameters.GetAllUsersDefault): Promise { + const config: Request = { url: '/rest/api/3/users', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -473,16 +460,16 @@ export class Users { * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async getAllUsers(parameters?: Parameters.GetAllUsers, callback?: never): Promise; - async getAllUsers(parameters?: Parameters.GetAllUsers, callback?: Callback): Promise { - const config: RequestConfig = { + async getAllUsers(parameters?: Parameters.GetAllUsers): Promise { + const config: Request = { url: '/rest/api/3/users/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/webhooks.ts b/src/version3/webhooks.ts index ceda28bc2c..15d5e6b1c9 100644 --- a/src/version3/webhooks.ts +++ b/src/version3/webhooks.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Webhooks { constructor(private client: Client) {} @@ -33,18 +33,17 @@ export class Webhooks { ): Promise; async getDynamicWebhooksForApp( parameters?: Parameters.GetDynamicWebhooksForApp, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/webhook', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -77,18 +76,17 @@ export class Webhooks { ): Promise; async registerDynamicWebhooks( parameters: Parameters.RegisterDynamicWebhooks, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/webhook', method: 'POST', - data: { + body: { url: parameters.url, webhooks: parameters.webhooks, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -109,19 +107,16 @@ export class Webhooks { * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. */ async deleteWebhookById(parameters: Parameters.DeleteWebhookById, callback?: never): Promise; - async deleteWebhookById( - parameters: Parameters.DeleteWebhookById, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteWebhookById(parameters: Parameters.DeleteWebhookById): Promise { + const config: Request = { url: '/rest/api/3/webhook', method: 'DELETE', - data: { + body: { webhookIds: parameters.webhookIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -160,20 +155,17 @@ export class Webhooks { parameters?: Parameters.GetFailedWebhooks, callback?: never, ): Promise; - async getFailedWebhooks( - parameters?: Parameters.GetFailedWebhooks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async getFailedWebhooks(parameters?: Parameters.GetFailedWebhooks): Promise { + const config: Request = { url: '/rest/api/3/webhook/failed', method: 'GET', - params: { + query: { maxResults: parameters?.maxResults, after: parameters?.after, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -204,18 +196,15 @@ export class Webhooks { parameters: Parameters.RefreshWebhooks, callback?: never, ): Promise; - async refreshWebhooks( - parameters: Parameters.RefreshWebhooks, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async refreshWebhooks(parameters: Parameters.RefreshWebhooks): Promise { + const config: Request = { url: '/rest/api/3/webhook/refresh', method: 'PUT', - data: { + body: { webhookIds: parameters.webhookIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowSchemeDrafts.ts b/src/version3/workflowSchemeDrafts.ts index 5702ad3128..9118e67adc 100644 --- a/src/version3/workflowSchemeDrafts.ts +++ b/src/version3/workflowSchemeDrafts.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemeDrafts { constructor(private client: Client) {} @@ -31,16 +31,15 @@ export class WorkflowSchemeDrafts { ): Promise; async createWorkflowSchemeDraftFromParent( parameters: Parameters.CreateWorkflowSchemeDraftFromParent | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/createdraft`, method: 'POST', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,16 +78,15 @@ export class WorkflowSchemeDrafts { ): Promise; async getWorkflowSchemeDraft( parameters: Parameters.GetWorkflowSchemeDraft | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/draft`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -115,12 +113,11 @@ export class WorkflowSchemeDrafts { ): Promise; async updateWorkflowSchemeDraft( parameters: Parameters.UpdateWorkflowSchemeDraft, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, defaultWorkflow: parameters.defaultWorkflow, @@ -129,7 +126,7 @@ export class WorkflowSchemeDrafts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -154,16 +151,15 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteWorkflowSchemeDraft( parameters: Parameters.DeleteWorkflowSchemeDraft | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/draft`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -192,16 +188,15 @@ export class WorkflowSchemeDrafts { ): Promise; async getDraftDefaultWorkflow( parameters: Parameters.GetDraftDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/draft/default`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -226,18 +221,17 @@ export class WorkflowSchemeDrafts { ): Promise; async updateDraftDefaultWorkflow( parameters: Parameters.UpdateDraftDefaultWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/default`, method: 'PUT', - data: { + body: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, workflow: parameters.workflow, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -264,16 +258,15 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteDraftDefaultWorkflow( parameters: Parameters.DeleteDraftDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/draft/default`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -298,14 +291,13 @@ export class WorkflowSchemeDrafts { ): Promise; async getWorkflowSchemeDraftIssueType( parameters: Parameters.GetWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -330,15 +322,14 @@ export class WorkflowSchemeDrafts { ): Promise; async setWorkflowSchemeDraftIssueType( parameters: Parameters.SetWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'PUT', - data: parameters.details, + body: parameters.details, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -363,14 +354,13 @@ export class WorkflowSchemeDrafts { ): Promise; async deleteWorkflowSchemeDraftIssueType( parameters: Parameters.DeleteWorkflowSchemeDraftIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/issuetype/${parameters.issueType}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -411,22 +401,21 @@ export class WorkflowSchemeDrafts { ): Promise; async publishDraftWorkflowScheme( parameters: Parameters.PublishDraftWorkflowScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/draft/publish`, method: 'POST', - params: { + query: { validateOnly: typeof parameters !== 'string' && parameters.validateOnly, }, - data: { + body: { statusMappings: typeof parameters !== 'string' && parameters.statusMappings, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -451,17 +440,16 @@ export class WorkflowSchemeDrafts { ): Promise; async getDraftWorkflow( parameters: Parameters.GetDraftWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/workflow`, method: 'GET', - params: { + query: { workflowName: parameters.workflowName, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -488,15 +476,14 @@ export class WorkflowSchemeDrafts { ): Promise; async updateDraftWorkflowMapping( parameters: Parameters.UpdateDraftWorkflowMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/workflow`, method: 'PUT', - params: { + query: { workflowName: parameters.workflowName, }, - data: { + body: { defaultMapping: parameters.defaultMapping, issueTypes: parameters.issueTypes, updateDraftIfNeeded: parameters.updateDraftIfNeeded, @@ -504,7 +491,7 @@ export class WorkflowSchemeDrafts { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -527,18 +514,15 @@ export class WorkflowSchemeDrafts { parameters: Parameters.DeleteDraftWorkflowMapping, callback?: never, ): Promise; - async deleteDraftWorkflowMapping( - parameters: Parameters.DeleteDraftWorkflowMapping, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async deleteDraftWorkflowMapping(parameters: Parameters.DeleteDraftWorkflowMapping): Promise { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/draft/workflow`, method: 'DELETE', - params: { + query: { workflowName: parameters.workflowName, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowSchemeProjectAssociations.ts b/src/version3/workflowSchemeProjectAssociations.ts index 3a8dd17d62..e6cd3bf954 100644 --- a/src/version3/workflowSchemeProjectAssociations.ts +++ b/src/version3/workflowSchemeProjectAssociations.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemeProjectAssociations { constructor(private client: Client) {} @@ -39,17 +39,16 @@ export class WorkflowSchemeProjectAssociations { ): Promise; async getWorkflowSchemeProjectAssociations( parameters: Parameters.GetWorkflowSchemeProjectAssociations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflowscheme/project', method: 'GET', - params: { + query: { projectId: parameters.projectId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -73,19 +72,16 @@ export class WorkflowSchemeProjectAssociations { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async assignSchemeToProject(parameters: Parameters.AssignSchemeToProject, callback?: never): Promise; - async assignSchemeToProject( - parameters: Parameters.AssignSchemeToProject, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async assignSchemeToProject(parameters: Parameters.AssignSchemeToProject): Promise { + const config: Request = { url: '/rest/api/3/workflowscheme/project', method: 'PUT', - data: { + body: { projectId: parameters.projectId, workflowSchemeId: parameters.workflowSchemeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowSchemes.ts b/src/version3/workflowSchemes.ts index 0ccd410ec1..749e8fe517 100644 --- a/src/version3/workflowSchemes.ts +++ b/src/version3/workflowSchemes.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowSchemes { constructor(private client: Client) {} @@ -31,18 +31,17 @@ export class WorkflowSchemes { ): Promise; async getAllWorkflowSchemes( parameters?: Parameters.GetAllWorkflowSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflowscheme', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -67,12 +66,11 @@ export class WorkflowSchemes { ): Promise; async createWorkflowScheme( parameters: Parameters.CreateWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflowscheme', method: 'POST', - data: { + body: { defaultWorkflow: parameters.defaultWorkflow, description: parameters.description, draft: parameters.draft, @@ -89,7 +87,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -118,18 +116,17 @@ export class WorkflowSchemes { ): Promise; async readWorkflowSchemes( parameters: Parameters.ReadWorkflowSchemes, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflowscheme/read', method: 'POST', - data: { + body: { projectIds: parameters.projectIds, workflowSchemeIds: parameters.workflowSchemeIds, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -156,11 +153,11 @@ export class WorkflowSchemes { * - _Administer projects_ project permission to update project-scoped workflow schemes. */ async updateSchemes(parameters: Parameters.UpdateSchemes, callback?: never): Promise; - async updateSchemes(parameters: Parameters.UpdateSchemes, callback?: Callback): Promise { - const config: RequestConfig = { + async updateSchemes(parameters: Parameters.UpdateSchemes): Promise { + const config: Request = { url: '/rest/api/3/workflowscheme/update', method: 'POST', - data: { + body: { defaultWorkflowId: parameters.defaultWorkflowId, description: parameters.description, id: parameters.id, @@ -172,7 +169,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -205,19 +202,18 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowSchemeMappings( parameters: Parameters.UpdateWorkflowSchemeMappings, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflowscheme/update/mappings', method: 'POST', - data: { + body: { defaultWorkflowId: parameters.defaultWorkflowId, id: parameters.id, workflowsForIssueTypes: parameters.workflowsForIssueTypes, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -242,19 +238,18 @@ export class WorkflowSchemes { ): Promise; async getWorkflowScheme( parameters: Parameters.GetWorkflowScheme | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}`, method: 'GET', - params: { + query: { returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -283,12 +278,11 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowScheme( parameters: Parameters.UpdateWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}`, method: 'PUT', - data: { + body: { name: parameters.name, description: parameters.description, defaultWorkflow: parameters.defaultWorkflow, @@ -297,7 +291,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -322,18 +316,15 @@ export class WorkflowSchemes { parameters: Parameters.DeleteWorkflowScheme | string, callback?: never, ): Promise; - async deleteWorkflowScheme( - parameters: Parameters.DeleteWorkflowScheme | string, - callback?: Callback, - ): Promise { + async deleteWorkflowScheme(parameters: Parameters.DeleteWorkflowScheme | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -362,19 +353,18 @@ export class WorkflowSchemes { ): Promise; async getDefaultWorkflow( parameters: Parameters.GetDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/default`, method: 'GET', - params: { + query: { returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -407,18 +397,17 @@ export class WorkflowSchemes { ): Promise; async updateDefaultWorkflow( parameters: Parameters.UpdateDefaultWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/default`, method: 'PUT', - data: { + body: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, workflow: parameters.workflow, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -453,19 +442,18 @@ export class WorkflowSchemes { ): Promise; async deleteDefaultWorkflow( parameters: Parameters.DeleteDefaultWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/default`, method: 'DELETE', - params: { + query: { updateDraftIfNeeded: typeof parameters !== 'string' && parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -490,17 +478,16 @@ export class WorkflowSchemes { ): Promise; async getWorkflowSchemeIssueType( parameters: Parameters.GetWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'GET', - params: { + query: { returnDraftIfExists: parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -533,15 +520,14 @@ export class WorkflowSchemes { ): Promise; async setWorkflowSchemeIssueType( parameters: Parameters.SetWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'PUT', - data: parameters.details, + body: parameters.details, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -574,17 +560,16 @@ export class WorkflowSchemes { ): Promise; async deleteWorkflowSchemeIssueType( parameters: Parameters.DeleteWorkflowSchemeIssueType, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/issuetype/${parameters.issueType}`, method: 'DELETE', - params: { + query: { updateDraftIfNeeded: parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -609,20 +594,19 @@ export class WorkflowSchemes { ): Promise; async getWorkflow( parameters: Parameters.GetWorkflow | string, - callback?: Callback, ): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/workflow`, method: 'GET', - params: { + query: { workflowName: typeof parameters !== 'string' && parameters.workflowName, returnDraftIfExists: typeof parameters !== 'string' && parameters.returnDraftIfExists, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -657,15 +641,14 @@ export class WorkflowSchemes { ): Promise; async updateWorkflowMapping( parameters: Parameters.UpdateWorkflowMapping, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.id}/workflow`, method: 'PUT', - params: { + query: { workflowName: parameters.workflowName, }, - data: { + body: { defaultMapping: parameters.defaultMapping, issueTypes: parameters.issueTypes, updateDraftIfNeeded: parameters.updateDraftIfNeeded, @@ -673,7 +656,7 @@ export class WorkflowSchemes { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -704,22 +687,19 @@ export class WorkflowSchemes { parameters: Parameters.DeleteWorkflowMapping | string, callback?: never, ): Promise; - async deleteWorkflowMapping( - parameters: Parameters.DeleteWorkflowMapping | string, - callback?: Callback, - ): Promise { + async deleteWorkflowMapping(parameters: Parameters.DeleteWorkflowMapping | string): Promise { const id = typeof parameters === 'string' ? parameters : parameters.id; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${id}/workflow`, method: 'DELETE', - params: { + query: { workflowName: typeof parameters !== 'string' && parameters.workflowName, updateDraftIfNeeded: typeof parameters !== 'string' && parameters.updateDraftIfNeeded, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given workflow scheme. */ @@ -734,17 +714,16 @@ export class WorkflowSchemes { ): Promise; async getProjectUsagesForWorkflowScheme( parameters: Parameters.GetProjectUsagesForWorkflowScheme, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflowscheme/${parameters.workflowSchemeId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowStatusCategories.ts b/src/version3/workflowStatusCategories.ts index 7ec0dd2e2f..c8f3383982 100644 --- a/src/version3/workflowStatusCategories.ts +++ b/src/version3/workflowStatusCategories.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowStatusCategories { constructor(private client: Client) {} @@ -21,13 +21,13 @@ export class WorkflowStatusCategories { * Permission to access Jira. */ async getStatusCategories(callback?: never): Promise; - async getStatusCategories(callback?: Callback): Promise { - const config: RequestConfig = { + async getStatusCategories(): Promise { + const config: Request = { url: '/rest/api/3/statuscategory', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -54,15 +54,14 @@ export class WorkflowStatusCategories { ): Promise; async getStatusCategory( parameters: Parameters.GetStatusCategory | string, - callback?: Callback, ): Promise { const idOrKey = typeof parameters === 'string' ? parameters : parameters.idOrKey; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/statuscategory/${idOrKey}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowStatuses.ts b/src/version3/workflowStatuses.ts index 3b89ff3ce1..4ffb2dabdd 100644 --- a/src/version3/workflowStatuses.ts +++ b/src/version3/workflowStatuses.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowStatuses { constructor(private client: Client) {} @@ -29,13 +29,13 @@ export class WorkflowStatuses { * project. */ async getStatuses(callback?: never): Promise; - async getStatuses(callback?: Callback): Promise { - const config: RequestConfig = { + async getStatuses(): Promise { + const config: Request = { url: '/rest/api/3/status', method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -69,17 +69,14 @@ export class WorkflowStatuses { * project. */ async getStatus(parameters: Parameters.GetStatus | string, callback?: never): Promise; - async getStatus( - parameters: Parameters.GetStatus | string, - callback?: Callback, - ): Promise { + async getStatus(parameters: Parameters.GetStatus | string): Promise { const idOrName = typeof parameters === 'string' ? parameters : parameters.idOrName; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/status/${idOrName}`, method: 'GET', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowTransitionProperties.ts b/src/version3/workflowTransitionProperties.ts index 23b9f69d07..73051e182a 100644 --- a/src/version3/workflowTransitionProperties.ts +++ b/src/version3/workflowTransitionProperties.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowTransitionProperties { constructor(private client: Client) {} @@ -35,12 +35,11 @@ export class WorkflowTransitionProperties { ): Promise; async getWorkflowTransitionProperties( parameters: Parameters.GetWorkflowTransitionProperties, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/transitions/${parameters.transitionId}/properties`, method: 'GET', - params: { + query: { includeReservedKeys: parameters.includeReservedKeys, key: parameters.key, workflowName: parameters.workflowName, @@ -48,7 +47,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -79,17 +78,16 @@ export class WorkflowTransitionProperties { ): Promise; async createWorkflowTransitionProperty( parameters: Parameters.CreateWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/transitions/${parameters.transitionId}/properties`, method: 'POST', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, - data: { + body: { ...parameters, transitionId: undefined, key: undefined, @@ -98,7 +96,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -131,17 +129,16 @@ export class WorkflowTransitionProperties { ): Promise; async updateWorkflowTransitionProperty( parameters: Parameters.UpdateWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/transitions/${parameters.transitionId}/properties`, method: 'PUT', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, - data: { + body: { ...parameters, transitionId: undefined, key: undefined, @@ -150,7 +147,7 @@ export class WorkflowTransitionProperties { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -181,18 +178,17 @@ export class WorkflowTransitionProperties { ): Promise; async deleteWorkflowTransitionProperty( parameters: Parameters.DeleteWorkflowTransitionProperty, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/transitions/${parameters.transitionId}/properties`, method: 'DELETE', - params: { + query: { key: parameters.key, workflowName: parameters.workflowName, workflowMode: parameters.workflowMode, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflowTransitionRules.ts b/src/version3/workflowTransitionRules.ts index 6dd9f914d7..ec5cb006e7 100644 --- a/src/version3/workflowTransitionRules.ts +++ b/src/version3/workflowTransitionRules.ts @@ -2,7 +2,7 @@ import type * as Models from './models'; import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class WorkflowTransitionRules { constructor(private client: Client) {} @@ -57,12 +57,11 @@ export class WorkflowTransitionRules { ): Promise; async getWorkflowTransitionRuleConfigurations( parameters: Parameters.GetWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflow/rule/config', method: 'GET', - params: { + query: { startAt: parameters.startAt, maxResults: parameters.maxResults, types: parameters.types, @@ -74,7 +73,7 @@ export class WorkflowTransitionRules { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -133,17 +132,16 @@ export class WorkflowTransitionRules { ): Promise; async updateWorkflowTransitionRuleConfigurations( parameters: Parameters.UpdateWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflow/rule/config', method: 'PUT', - data: { + body: { workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -180,16 +178,15 @@ export class WorkflowTransitionRules { ): Promise; async deleteWorkflowTransitionRuleConfigurations( parameters?: Parameters.DeleteWorkflowTransitionRuleConfigurations, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflow/rule/config/delete', method: 'PUT', - data: { + body: { workflows: parameters?.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/src/version3/workflows.ts b/src/version3/workflows.ts index 517b4825b5..3fd9ee224d 100644 --- a/src/version3/workflows.ts +++ b/src/version3/workflows.ts @@ -3,7 +3,7 @@ import type * as Parameters from './parameters'; import type { Client } from '../clients'; import type { Callback } from '../callback'; import { paramSerializer } from '../paramSerializer'; -import type { RequestConfig } from '../requestConfig'; +import type { Request } from '../request'; export class Workflows { constructor(private client: Client) {} @@ -33,14 +33,11 @@ export class Workflows { * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ async createWorkflow(parameters: Parameters.CreateWorkflow, callback?: never): Promise; - async createWorkflow( - parameters: Parameters.CreateWorkflow, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createWorkflow(parameters: Parameters.CreateWorkflow): Promise { + const config: Request = { url: '/rest/api/3/workflow', method: 'POST', - data: { + body: { description: parameters.description, name: parameters.name, statuses: parameters.statuses, @@ -48,7 +45,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -81,12 +78,11 @@ export class Workflows { ): Promise; async getWorkflowsPaginated( parameters?: Parameters.GetWorkflowsPaginated, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflow/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, workflowName: paramSerializer('workflowName', parameters?.workflowName), @@ -97,7 +93,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -130,18 +126,15 @@ export class Workflows { * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). */ - async deleteInactiveWorkflow( - parameters: Parameters.DeleteInactiveWorkflow | string, - callback?: Callback, - ): Promise { + async deleteInactiveWorkflow(parameters: Parameters.DeleteInactiveWorkflow | string): Promise { const entityId = typeof parameters === 'string' ? parameters : parameters.entityId; - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/${entityId}`, method: 'DELETE', }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of issue types using a given workflow within a project. */ @@ -156,18 +149,17 @@ export class Workflows { ): Promise; async getWorkflowProjectIssueTypeUsages( parameters: Parameters.GetWorkflowProjectIssueTypeUsages, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/${parameters.workflowId}/project/${parameters.projectId}/issueTypeUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of projects using a given workflow. */ @@ -182,18 +174,17 @@ export class Workflows { ): Promise; async getProjectUsagesForWorkflow( parameters: Parameters.GetProjectUsagesForWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/${parameters.workflowId}/projectUsages`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** Returns a page of workflow schemes using a given workflow. */ @@ -208,18 +199,17 @@ export class Workflows { ): Promise; async getWorkflowSchemeUsagesForWorkflow( parameters: Parameters.GetWorkflowSchemeUsagesForWorkflow, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: `/rest/api/3/workflow/${parameters.workflowId}/workflowSchemes`, method: 'GET', - params: { + query: { nextPageToken: parameters.nextPageToken, maxResults: parameters.maxResults, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -247,25 +237,22 @@ export class Workflows { * project-scoped workflows */ async readWorkflows(parameters?: Parameters.ReadWorkflows, callback?: never): Promise; - async readWorkflows( - parameters?: Parameters.ReadWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async readWorkflows(parameters?: Parameters.ReadWorkflows): Promise { + const config: Request = { url: '/rest/api/3/workflows', method: 'POST', - params: { + query: { useTransitionLinksFormat: parameters?.useTransitionLinksFormat, useApprovalConfiguration: parameters?.useApprovalConfiguration, }, - data: { + body: { projectAndIssueTypes: parameters?.projectAndIssueTypes, workflowIds: parameters?.workflowIds, workflowNames: parameters?.workflowNames, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -302,19 +289,18 @@ export class Workflows { ): Promise; async workflowCapabilities( parameters?: Parameters.WorkflowCapabilities, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflows/capabilities', method: 'GET', - params: { + query: { workflowId: parameters?.workflowId, projectId: parameters?.projectId, issueTypeId: parameters?.issueTypeId, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -341,21 +327,18 @@ export class Workflows { parameters: Parameters.CreateWorkflows, callback?: never, ): Promise; - async createWorkflows( - parameters: Parameters.CreateWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async createWorkflows(parameters: Parameters.CreateWorkflows): Promise { + const config: Request = { url: '/rest/api/3/workflows/create', method: 'POST', - data: { + body: { scope: parameters.scope, statuses: parameters.statuses, workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -384,18 +367,17 @@ export class Workflows { ): Promise; async validateCreateWorkflows( parameters: Parameters.ValidateCreateWorkflows, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflows/create/validation', method: 'POST', - data: { + body: { payload: parameters.payload, validationOptions: parameters.validationOptions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -428,14 +410,11 @@ export class Workflows { parameters?: Parameters.SearchWorkflows, callback?: never, ): Promise; - async searchWorkflows( - parameters?: Parameters.SearchWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async searchWorkflows(parameters?: Parameters.SearchWorkflows): Promise { + const config: Request = { url: '/rest/api/3/workflows/search', method: 'GET', - params: { + query: { startAt: parameters?.startAt, maxResults: parameters?.maxResults, expand: parameters?.expand, @@ -446,7 +425,7 @@ export class Workflows { }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -473,23 +452,20 @@ export class Workflows { parameters: Parameters.UpdateWorkflows, callback?: never, ): Promise; - async updateWorkflows( - parameters: Parameters.UpdateWorkflows, - callback?: Callback, - ): Promise { - const config: RequestConfig = { + async updateWorkflows(parameters: Parameters.UpdateWorkflows): Promise { + const config: Request = { url: '/rest/api/3/workflows/update', method: 'POST', - params: { + query: { expand: parameters.expand, }, - data: { + body: { statuses: parameters.statuses, workflows: parameters.workflows, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } /** @@ -518,17 +494,16 @@ export class Workflows { ): Promise; async validateUpdateWorkflows( parameters: Parameters.ValidateUpdateWorkflows, - callback?: Callback, ): Promise { - const config: RequestConfig = { + const config: Request = { url: '/rest/api/3/workflows/update/validation', method: 'POST', - data: { + body: { payload: parameters.payload, validationOptions: parameters.validationOptions, }, }; - return this.client.sendRequest(config, callback); + return this.client.sendRequest(config); } } diff --git a/tests/integration/agile/sprint.test.ts b/tests/integration/agile/sprint.test.ts index 1de5b6034d..8093061102 100644 --- a/tests/integration/agile/sprint.test.ts +++ b/tests/integration/agile/sprint.test.ts @@ -21,7 +21,7 @@ afterAll(async () => { await deleteAgileProject(); }); -test.sequential.skip('should create new sprint', async ({ expect }) => { +test.sequential('should create new sprint', async ({ expect }) => { const boards = await client.board.getAllBoards({ name: Constants.testAgileProjectKey }); expect(boards.total).toBe(1); @@ -40,7 +40,7 @@ test.sequential.skip('should create new sprint', async ({ expect }) => { expect(sprint.state).toBe('future'); }); -test.sequential.skip('should create and move task to sprint', async ({ expect }) => { +test.sequential('should create and move task to sprint', async ({ expect }) => { const issue = await getVersion3Client().issues.createIssue({ fields: { summary: 'Test task', @@ -65,7 +65,7 @@ test.sequential.skip('should create and move task to sprint', async ({ expect }) expect(!!issue).toBeTruthy(); }); -test.sequential.skip('should return issues for sprint', async ({ expect }) => { +test.sequential('should return issues for sprint', async ({ expect }) => { const { issues } = await client.sprint.getIssuesForSprint({ sprintId: sprint.id, }); @@ -74,7 +74,7 @@ test.sequential.skip('should return issues for sprint', async ({ expect }) => { expect(issues[0].fields?.summary).toBe('Test task'); }); -test.sequential.skip('should partially update sprint', async ({ expect }) => { +test.sequential('should partially update sprint', async ({ expect }) => { const newSprint = await client.sprint.partiallyUpdateSprint({ sprintId: sprint.id, state: 'active', @@ -85,6 +85,6 @@ test.sequential.skip('should partially update sprint', async ({ expect }) => { expect(newSprint.state).toBe('active'); }); -test.sequential.skip('should remove sprint', async () => { +test.sequential('should remove sprint', async () => { await client.sprint.deleteSprint({ sprintId: sprint.id }); }); diff --git a/tests/integration/utils/createSoftwareProject.ts b/tests/integration/utils/createSoftwareProject.ts index d1cad60062..e2df1e1274 100644 --- a/tests/integration/utils/createSoftwareProject.ts +++ b/tests/integration/utils/createSoftwareProject.ts @@ -1,4 +1,3 @@ -import type { AxiosError } from 'axios'; import { Constants } from '@tests/integration/constants'; import { getVersion2Client } from './getClient'; @@ -20,8 +19,7 @@ export const createSoftwareProject = async () => { leadAccountId: currentUser.accountId, projectTypeKey: 'software', }) - .catch((error: AxiosError) => { - console.error(error.response?.data ?? error); + .catch((error: Error) => { throw error; }); }; diff --git a/tests/integration/utils/deleteSoftwareProject.ts b/tests/integration/utils/deleteSoftwareProject.ts index 490cce9353..586be10be3 100644 --- a/tests/integration/utils/deleteSoftwareProject.ts +++ b/tests/integration/utils/deleteSoftwareProject.ts @@ -1,4 +1,3 @@ -import type { AxiosError } from 'axios'; import { Constants } from '@tests/integration/constants'; import { getVersion2Client } from './getClient'; @@ -10,8 +9,7 @@ export const deleteSoftwareProject = async () => { projectIdOrKey: Constants.testProjectKey, enableUndo: false, }) - .catch((error: AxiosError) => { - console.error(error.response?.data ?? error); + .catch((error: Error) => { throw error; }); }; diff --git a/tests/integration/version2/avatars.test.ts b/tests/integration/version2/avatars.test.ts index 975e7b6949..5d78a17498 100644 --- a/tests/integration/version2/avatars.test.ts +++ b/tests/integration/version2/avatars.test.ts @@ -28,8 +28,8 @@ test.sequential('should return avatar image with contentType', async ({ expect } type: 'project', }); - expect(avatarWithDetails.contentType).toBe('image/svg+xml'); - expect(avatarWithDetails.avatar instanceof Uint8Array).toBeTruthy(); + expect(avatarWithDetails.contentType.startsWith('image/svg+xml')).toBeTruthy(); + expect(avatarWithDetails.avatar instanceof ArrayBuffer || ArrayBuffer.isView(avatarWithDetails.avatar)).toBeTruthy(); }); test.sequential('should store a new avatar', async ({ expect }) => { diff --git a/tests/integration/version2/issueAttachments.test.ts b/tests/integration/version2/issueAttachments.test.ts index 8b5b22724a..a1390be4d4 100644 --- a/tests/integration/version2/issueAttachments.test.ts +++ b/tests/integration/version2/issueAttachments.test.ts @@ -98,9 +98,10 @@ test.sequential('should add attachment with fs.createReadStream', async ({ expec }); test.sequential('should getAttachmentContent', async ({ expect }) => { - const content = await client.issueAttachments.getAttachmentContent({ id: attachments[0].id }); + const { content, contentType } = await client.issueAttachments.getAttachmentContent({ id: attachments[0].id }); - expect(Buffer.isBuffer(content)).toBeTruthy(); + expect(ArrayBuffer.isView(content) || content instanceof ArrayBuffer).toBeTruthy(); + expect(['text/plain', 'video/mp2t'].includes(contentType)).toBeTruthy(); }); test.sequential('should remove attachment', async () => { diff --git a/tests/integration/version2/issueComments.test.ts b/tests/integration/version2/issueComments.test.ts index 6743b8da6e..f2a80d0f8d 100644 --- a/tests/integration/version2/issueComments.test.ts +++ b/tests/integration/version2/issueComments.test.ts @@ -1,4 +1,3 @@ -import type { AxiosError } from 'axios'; import { afterAll, beforeAll, test } from 'vitest'; import { Constants } from '@tests/integration/constants'; import { cleanupEnvironment, getVersion2Client, prepareEnvironment } from '@tests/integration/utils'; @@ -33,9 +32,7 @@ test.sequential('should update comment', async ({ expect }) => { issueIdOrKey: issue.key, comment: 'this is a comment', }) - .catch((error: AxiosError) => { - console.error(error.response?.data ?? error); - + .catch((error: Error) => { throw error; }); diff --git a/tests/integration/version2/issues.test.ts b/tests/integration/version2/issues.test.ts index d515c569ed..58c7bbf561 100644 --- a/tests/integration/version2/issues.test.ts +++ b/tests/integration/version2/issues.test.ts @@ -64,5 +64,5 @@ test.sequential('should get issue', async ({ expect }) => { test.sequential('should remove issue', async ({ expect }) => { const removedIssue = await client.issues.deleteIssue({ issueIdOrKey: createdIssue.id }); - expect(removedIssue).toBe(''); + expect(removedIssue).toBe(undefined); }); diff --git a/tests/integration/version3/avatars.test.ts b/tests/integration/version3/avatars.test.ts index 4981104c5c..ee914c9911 100644 --- a/tests/integration/version3/avatars.test.ts +++ b/tests/integration/version3/avatars.test.ts @@ -29,7 +29,7 @@ test.sequential('should return avatar image with contentType', async ({ expect } }); expect(avatarWithDetails.contentType).toBe('image/svg+xml'); - expect(avatarWithDetails.avatar instanceof Uint8Array).toBeTruthy(); + expect(avatarWithDetails.avatar instanceof ArrayBuffer).toBeTruthy(); }); test.sequential('should store a new avatar', async ({ expect }) => { diff --git a/tests/integration/version3/issueAttachments.test.ts b/tests/integration/version3/issueAttachments.test.ts index 863e411318..1d02e4c685 100644 --- a/tests/integration/version3/issueAttachments.test.ts +++ b/tests/integration/version3/issueAttachments.test.ts @@ -98,9 +98,10 @@ test.sequential('should add attachment with fs.createReadStream', async ({ expec }); test.sequential('should getAttachmentContent', async ({ expect }) => { - const content = await client.issueAttachments.getAttachmentContent({ id: attachments[0].id }); + const { content, contentType } = await client.issueAttachments.getAttachmentContent({ id: attachments[0].id }); - expect(Buffer.isBuffer(content)).toBeTruthy(); + expect(ArrayBuffer.isView(content) || content instanceof ArrayBuffer).toBeTruthy(); + expect(['text/plain', 'video/mp2t'].includes(contentType)).toBeTruthy(); }); test.sequential('should remove attachment', async () => { diff --git a/tests/integration/version3/issues.test.ts b/tests/integration/version3/issues.test.ts index c66490ff87..275fbb6195 100644 --- a/tests/integration/version3/issues.test.ts +++ b/tests/integration/version3/issues.test.ts @@ -119,5 +119,5 @@ test.sequential('should update issue description', async ({ expect }) => { test.sequential('should remove issue', async ({ expect }) => { const removedIssue = await client.issues.deleteIssue({ issueIdOrKey: createdIssue.id }); - expect(removedIssue).toBe(''); + expect(removedIssue).toBe(undefined); }); diff --git a/tests/unit/agile/board.test.ts b/tests/unit/agile/board.test.ts index ad8d0fafc6..bd8d4f1ec6 100644 --- a/tests/unit/agile/board.test.ts +++ b/tests/unit/agile/board.test.ts @@ -33,7 +33,7 @@ test('getAllSprints should accept following parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/agile/1.0/board/10111/sprint'); - expect(callArgument.params).toMatchObject({ + expect(callArgument.query).toMatchObject({ startAt: 0, maxResults: 100, state: 'testState', diff --git a/tests/unit/agile/sprint.test.ts b/tests/unit/agile/sprint.test.ts index 164751ce48..8873be7fe8 100644 --- a/tests/unit/agile/sprint.test.ts +++ b/tests/unit/agile/sprint.test.ts @@ -16,7 +16,7 @@ test('moveIssuesToSprintAndRank should accept follow parameters', async ({ expec const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/agile/1.0/sprint/10100/issue'); - expect(callArgument.data).toMatchObject({ + expect(callArgument.body).toMatchObject({ issues: ['first_issue', 'second_issue'], }); }); diff --git a/tests/unit/clients/baseClient.test.ts b/tests/unit/clients/baseClient.test.ts index effbca02ce..c7a7443c45 100644 --- a/tests/unit/clients/baseClient.test.ts +++ b/tests/unit/clients/baseClient.test.ts @@ -1,87 +1,20 @@ -import * as sinon from 'sinon'; -import { test } from 'vitest'; +import { describe, test } from 'vitest'; import { BaseClient } from '@jirajs'; -const XAtlassianToken = 'X-Atlassian-Token'; +describe('BaseClient', () => { + test('shouldn\'t display error message for correct host urls', () => { + new BaseClient({ + host: 'http://localhost', + }); -test('should create X-Atlassian-Token: no-check header in requests', async ({ expect }) => { - const client = new BaseClient({ - host: 'http://localhost', - noCheckAtlassianToken: true, + new BaseClient({ host: 'https://localhost/' }); }); - // @ts-expect-error Wrong typings - const defaultHeaders: Record = client.instance.defaults.headers; + test('should display error message for incorrect host url', ({ expect }) => { + const errorMessage = 'Couldn\'t parse the host URL. Perhaps you forgot to add \'http://\' or \'https://\' at the beginning of the URL?'; - expect(defaultHeaders[XAtlassianToken]).toBe('no-check'); - - const sendRequestStub = sinon.stub(client, 'sendRequest'); - - // @ts-expect-error Wrong typings - await client.sendRequest({}, undefined); // TODO problem with never type - - expect(sendRequestStub.calledOnce).toBeTruthy(); - - const callArgument = sendRequestStub.getCall(0).args[0]; - - expect(callArgument.headers?.[XAtlassianToken]).toBe(undefined); -}); - -test('should not create X-Atlassian-Token: no-check header in requests case 1', async ({ expect }) => { - const client = new BaseClient({ - host: 'http://localhost', - noCheckAtlassianToken: false, - }); - // @ts-expect-error Wrong typings - const defaultHeaders: Record = client.instance.defaults.headers; - - expect(defaultHeaders[XAtlassianToken]).toBe(undefined); - - const sendRequestStub = sinon.stub(client, 'sendRequest'); - - // @ts-expect-error Wrong typings - await client.sendRequest({}, undefined); // TODO problem with never type - expect(sendRequestStub.calledOnce).toBeTruthy(); - - const callArgument = sendRequestStub.getCall(0).args[0]; - - expect(callArgument.headers?.[XAtlassianToken]).toBe(undefined); -}); - -test('should create X-Atlassian-Token: no-check header in requests case 2', async ({ expect }) => { - const client = new BaseClient({ - host: 'http://localhost', + expect(() => new BaseClient({ host: '' })).toThrowError(errorMessage); + expect(() => new BaseClient({ host: 'localhost' })).toThrowError(errorMessage); + expect(() => new BaseClient({ host: 'example.com' })).toThrowError(errorMessage); }); - - // @ts-expect-error Wrong typings - const defaultHeaders: Record = client.instance.defaults.headers; - - expect(defaultHeaders[XAtlassianToken]).toBe(undefined); - - const sendRequestStub = sinon.stub(client, 'sendRequest'); - - // @ts-expect-error Wrong typings - await client.sendRequest({}, undefined); // TODO problem with never type - - expect(sendRequestStub.calledOnce).toBeTruthy(); - - const callArgument = sendRequestStub.getCall(0).args[0]; - - expect(callArgument.headers?.[XAtlassianToken]).toBe(undefined); -}); - -test('shouldn\'t display error message for correct host urls', () => { - new BaseClient({ - host: 'http://localhost', - }); - - new BaseClient({ host: 'https://localhost/' }); -}); - -test('should display error message for incorrect host url', ({ expect }) => { - const errorMessage = 'Couldn\'t parse the host URL. Perhaps you forgot to add \'http://\' or \'https://\' at the beginning of the URL?'; - - expect(() => new BaseClient({ host: '' })).toThrowError(errorMessage); - expect(() => new BaseClient({ host: 'localhost' })).toThrowError(errorMessage); - expect(() => new BaseClient({ host: 'example.com' })).toThrowError(errorMessage); }); diff --git a/tests/unit/version2/appMigration.test.ts b/tests/unit/version2/appMigration.test.ts index b1183add79..3c901f8bea 100644 --- a/tests/unit/version2/appMigration.test.ts +++ b/tests/unit/version2/appMigration.test.ts @@ -28,5 +28,5 @@ test('updateEntityPropertiesValue should accept actual parameters', async ({ exp expect(callArgument.headers!['Atlassian-Transfer-Id']).toBe('2'); expect(callArgument.headers!['Atlassian-Account-Id']).toBe('3'); expect(callArgument.headers!['Content-Type']).toBe('application/json'); - expect(callArgument.data).toStrictEqual([entity]); + expect(callArgument.body).toStrictEqual([entity]); }); diff --git a/tests/unit/version2/issueComments.test.ts b/tests/unit/version2/issueComments.test.ts index 5900ddda77..b221dbfe53 100644 --- a/tests/unit/version2/issueComments.test.ts +++ b/tests/unit/version2/issueComments.test.ts @@ -17,7 +17,7 @@ test('addComment should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/issue/key/comment'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ body: 'test comment', author: undefined, created: undefined, diff --git a/tests/unit/version2/issueLinks.test.ts b/tests/unit/version2/issueLinks.test.ts index a72197a358..1730c6de5b 100644 --- a/tests/unit/version2/issueLinks.test.ts +++ b/tests/unit/version2/issueLinks.test.ts @@ -17,7 +17,7 @@ test('linkIssues should calls without parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ comment: undefined, inwardIssue: {}, outwardIssue: {}, diff --git a/tests/unit/version2/issueRemoteLinks.test.ts b/tests/unit/version2/issueRemoteLinks.test.ts index 47ca3f5dbe..8f1baa7bed 100644 --- a/tests/unit/version2/issueRemoteLinks.test.ts +++ b/tests/unit/version2/issueRemoteLinks.test.ts @@ -21,7 +21,7 @@ test('createOrUpdateRemoteIssueLink should accept follow parameters', async ({ e const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/issue/issue.key/remotelink'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ application: undefined, globalId: undefined, relationship: undefined, diff --git a/tests/unit/version2/issueSearch.test.ts b/tests/unit/version2/issueSearch.test.ts index 0640db7eb0..962801db6a 100644 --- a/tests/unit/version2/issueSearch.test.ts +++ b/tests/unit/version2/issueSearch.test.ts @@ -33,7 +33,7 @@ test('searchForIssuesUsingJql should accept follow parameters', async ({ expect const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, failFast: undefined, fields: ['key', 'summary'], @@ -59,7 +59,7 @@ test('searchForIssuesUsingJqlPost should accept follow parameters', async ({ exp const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ expand: ['changelog'], fields: undefined, fieldsByKeys: undefined, @@ -96,7 +96,7 @@ test('searchForIssuesUsingJqlEnhancedSearch should accept follow parameters', as const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ jql: 'id IN (TICKET_ID) ORDER BY key ASC', nextPageToken: undefined, maxResults: 10, @@ -122,7 +122,7 @@ test('searchForIssuesUsingJqlEnhancedSearchPost should accept follow parameters' const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ jql: 'test JQL', nextPageToken: undefined, maxResults: undefined, diff --git a/tests/unit/version2/issueWatcher.test.ts b/tests/unit/version2/issueWatcher.test.ts index f61a63509a..7d339e0f8a 100644 --- a/tests/unit/version2/issueWatcher.test.ts +++ b/tests/unit/version2/issueWatcher.test.ts @@ -11,5 +11,5 @@ test('addWatcher should accept accountId', async ({ expect }) => { const callArgument = sendRequestStub.lastCall.args[0]; expect(sendRequestStub.calledOnce).toBeTruthy(); - expect(callArgument.data).toBe('101010'); + expect(callArgument.body).toBe('101010'); }); diff --git a/tests/unit/version2/issues.test.ts b/tests/unit/version2/issues.test.ts index 92e81d1a7d..e69b393d16 100644 --- a/tests/unit/version2/issues.test.ts +++ b/tests/unit/version2/issues.test.ts @@ -25,7 +25,7 @@ test('createIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: { summary: 'My issue name', project: { @@ -60,14 +60,14 @@ test('editIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/issue/issueId'); - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, notifyUsers: false, overrideEditableFlag: undefined, overrideScreenSecurity: undefined, returnIssue: undefined, }); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: { description: 'desc' }, historyMetadata: undefined, properties: undefined, @@ -97,7 +97,7 @@ test('doTransition should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/issue/idOrKey/transitions'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: undefined, historyMetadata: undefined, properties: undefined, @@ -124,5 +124,5 @@ test('deleteIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/issue/issueKey'); - expect(callArgument.params).toStrictEqual({ deleteSubtasks: true }); + expect(callArgument.query).toStrictEqual({ deleteSubtasks: true }); }); diff --git a/tests/unit/version2/jiraExpressions.test.ts b/tests/unit/version2/jiraExpressions.test.ts index a150890a11..27143d5507 100644 --- a/tests/unit/version2/jiraExpressions.test.ts +++ b/tests/unit/version2/jiraExpressions.test.ts @@ -31,11 +31,11 @@ test('evaluateJiraExpressionUsingEnhancedSearch should accept follow parameters' const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, }); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ expression: '{ key: issue.key, type: issue.issueType.name }', context: undefined, }); diff --git a/tests/unit/version2/projectVersions.test.ts b/tests/unit/version2/projectVersions.test.ts index 11ce5be451..7e3a82d589 100644 --- a/tests/unit/version2/projectVersions.test.ts +++ b/tests/unit/version2/projectVersions.test.ts @@ -23,7 +23,7 @@ test('getProjectVersionsPaginated should accept follow parameters', async ({ exp const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/2/project/StubProjectId/version'); - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ maxResults: 50, orderBy: '-sequence', expand: undefined, @@ -72,7 +72,7 @@ test('createVersion should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ approvers: undefined, archived: undefined, description: undefined, diff --git a/tests/unit/version3/appMigration.test.ts b/tests/unit/version3/appMigration.test.ts index 1294bcd198..be482199dc 100644 --- a/tests/unit/version3/appMigration.test.ts +++ b/tests/unit/version3/appMigration.test.ts @@ -30,5 +30,5 @@ test('updateEntityPropertiesValue should accept actual parameters', async ({ exp expect(callArgument.headers!['Atlassian-Transfer-Id']).toBe('2'); expect(callArgument.headers!['Atlassian-Account-Id']).toBe('3'); expect(callArgument.headers!['Content-Type']).toBe('application/json'); - expect(callArgument.data).toStrictEqual([entity]); + expect(callArgument.body).toStrictEqual([entity]); }); diff --git a/tests/unit/version3/issueBulkOperations.test.ts b/tests/unit/version3/issueBulkOperations.test.ts index 67e2959a2a..3f2d61919d 100644 --- a/tests/unit/version3/issueBulkOperations.test.ts +++ b/tests/unit/version3/issueBulkOperations.test.ts @@ -22,7 +22,7 @@ test('getAvailableTransitions should accept follow parameters', async ({ expect expect(callArgument.url).toBe('/rest/api/3/bulk/issues/transition'); expect(callArgument.method).toBe('GET'); - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ issueIdsOrKeys: ['PROJ-1', 'PROJ-2'], startingAfter: 'cursor1', endingBefore: 'cursor2', diff --git a/tests/unit/version3/issueComments.test.ts b/tests/unit/version3/issueComments.test.ts index 842f6b8bb7..e4b750a1cd 100644 --- a/tests/unit/version3/issueComments.test.ts +++ b/tests/unit/version3/issueComments.test.ts @@ -20,7 +20,7 @@ test('addComment should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/key/comment'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ author: undefined, body: { type: 'doc', @@ -56,7 +56,7 @@ test('addComment should accept body string and convert to simple Document', asyn const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/key/comment'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ author: undefined, body: { type: 'doc', diff --git a/tests/unit/version3/issueLinks.test.ts b/tests/unit/version3/issueLinks.test.ts index 5adbb8fd4d..bfd8e24411 100644 --- a/tests/unit/version3/issueLinks.test.ts +++ b/tests/unit/version3/issueLinks.test.ts @@ -22,7 +22,7 @@ test('linkIssues should calls without parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ comment: undefined, inwardIssue: { id: '1', diff --git a/tests/unit/version3/issueRemoteLinks.test.ts b/tests/unit/version3/issueRemoteLinks.test.ts index 660b90b537..3a2c226f8e 100644 --- a/tests/unit/version3/issueRemoteLinks.test.ts +++ b/tests/unit/version3/issueRemoteLinks.test.ts @@ -21,7 +21,7 @@ test('createOrUpdateRemoteIssueLink should accept following parameters', async ( const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/issue.key/remotelink'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ object: { url: 'http://localhost/', title: 'Title', diff --git a/tests/unit/version3/issueSearch.test.ts b/tests/unit/version3/issueSearch.test.ts index 200b093f5c..c540afc58c 100644 --- a/tests/unit/version3/issueSearch.test.ts +++ b/tests/unit/version3/issueSearch.test.ts @@ -33,7 +33,7 @@ test('searchForIssuesUsingJql should accept follow parameters', async ({ expect const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, failFast: undefined, fields: ['key', 'summary'], @@ -59,7 +59,7 @@ test('searchForIssuesUsingJqlPost should accept follow parameters', async ({ exp const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ expand: ['changelog'], fields: undefined, fieldsByKeys: undefined, @@ -96,7 +96,7 @@ test('searchForIssuesUsingJqlEnhancedSearch should accept follow parameters', as const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ jql: 'id IN (TICKET_ID) ORDER BY key ASC', nextPageToken: undefined, maxResults: 10, @@ -122,7 +122,7 @@ test('searchForIssuesUsingJqlEnhancedSearchPost should accept follow parameters' const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ jql: 'test JQL', nextPageToken: undefined, maxResults: undefined, diff --git a/tests/unit/version3/issueWatcher.test.ts b/tests/unit/version3/issueWatcher.test.ts index 2b6f278ae7..be50c367c3 100644 --- a/tests/unit/version3/issueWatcher.test.ts +++ b/tests/unit/version3/issueWatcher.test.ts @@ -11,5 +11,5 @@ test('addWatcher should accept accountId', async ({ expect }) => { const callArgument = sendRequestStub.lastCall.args[0]; expect(sendRequestStub.calledOnce).toBeTruthy(); - expect(callArgument.data).toBe('101010'); + expect(callArgument.body).toBe('101010'); }); diff --git a/tests/unit/version3/issues.test.ts b/tests/unit/version3/issues.test.ts index d6ab661156..2c7dc8d695 100644 --- a/tests/unit/version3/issues.test.ts +++ b/tests/unit/version3/issues.test.ts @@ -26,7 +26,7 @@ test('createIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: { summary: 'gg', project: { @@ -90,14 +90,14 @@ test('editIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/issueId'); - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, notifyUsers: false, overrideEditableFlag: undefined, overrideScreenSecurity: undefined, returnIssue: undefined, }); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: { description: { content: [ @@ -143,7 +143,7 @@ test('doTransition should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/idOrKey/transitions'); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ fields: undefined, historyMetadata: undefined, properties: undefined, @@ -170,5 +170,5 @@ test('deleteIssue should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/issue/issueKey'); - expect(callArgument.params).toStrictEqual({ deleteSubtasks: true }); + expect(callArgument.query).toStrictEqual({ deleteSubtasks: true }); }); diff --git a/tests/unit/version3/jiraExpressions.test.ts b/tests/unit/version3/jiraExpressions.test.ts index f67051bc43..4ae93fe6dd 100644 --- a/tests/unit/version3/jiraExpressions.test.ts +++ b/tests/unit/version3/jiraExpressions.test.ts @@ -31,11 +31,11 @@ test('evaluateJiraExpressionUsingEnhancedSearch should accept follow parameters' const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ expand: undefined, }); - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ expression: '{ key: issue.key, type: issue.issueType.name }', context: undefined, }); diff --git a/tests/unit/version3/projectVersions.test.ts b/tests/unit/version3/projectVersions.test.ts index c95e233d5b..8ac205469f 100644 --- a/tests/unit/version3/projectVersions.test.ts +++ b/tests/unit/version3/projectVersions.test.ts @@ -23,7 +23,7 @@ test('getProjectVersionsPaginated should accept follow parameters', async ({ exp const callArgument = sendRequestStub.getCall(0).args[0]; expect(callArgument.url).toBe('/rest/api/3/project/StubProjectId/version'); - expect(callArgument.params).toStrictEqual({ + expect(callArgument.query).toStrictEqual({ maxResults: 50, orderBy: '-sequence', expand: undefined, @@ -74,7 +74,7 @@ test('createVersion should accept follow parameters', async ({ expect }) => { const callArgument = sendRequestStub.getCall(0).args[0]; - expect(callArgument.data).toStrictEqual({ + expect(callArgument.body).toStrictEqual({ approvers: undefined, archived: undefined, description: undefined,