@resolution/atlassian-api-common 0.6.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/lib/fetch/common/index.d.ts +11 -11
- package/lib/fetch/common/index.js +18 -28
- package/lib/fetch/common/index.js.map +1 -1
- package/lib/fetch/createAceFetch.js +11 -7
- package/lib/fetch/createAceFetch.js.map +1 -1
- package/lib/fetch/createApFetch.js +2 -5
- package/lib/fetch/createApFetch.js.map +1 -1
- package/lib/fetch/createForgeApiWithProviderFetch.d.ts +26 -0
- package/lib/fetch/createForgeApiWithProviderFetch.js +51 -0
- package/lib/fetch/createForgeApiWithProviderFetch.js.map +1 -0
- package/lib/fetch/createForgeBridgeFetch.d.ts +4 -4
- package/lib/fetch/index.d.ts +5 -3
- package/lib/fetch/index.js +7 -3
- package/lib/fetch/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.7.0](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.6.4...v0.7.0) (2024-09-10)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* support forgeApiWithProvider in jira and confluence ([4de975a](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/commits/4de975aa1a80c59d1cbbddc7d214622797fcb5b3))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.6.4](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.6.3...v0.6.4) (2024-09-10)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* handle incorrect http response from Atlassian API: another attempt to solve this problem ([4cda0bc](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/commits/4cda0bcaf04ac7672440f21a9761926dbf321275))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [0.6.3](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.6.2...v0.6.3) (2024-09-10)
|
|
7
29
|
|
|
8
30
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import type { APIResponse } from "@forge/api";
|
|
2
2
|
import type { CommonHttpClientFetchResponseBody } from "api-typescript-generator/openapi-client";
|
|
3
|
+
/**
|
|
4
|
+
* The product name of the Atlassian product instance.
|
|
5
|
+
*/
|
|
6
|
+
export type AtlassianProductName = "jira" | "confluence";
|
|
3
7
|
export declare const contentTypeHeaderName = "content-type";
|
|
4
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Atlassian API Endpoints contradict HTTP specification by returning empty body for JSON responses.
|
|
10
|
+
* This response body is used as a fallback for such cases.
|
|
11
|
+
*/
|
|
5
12
|
export declare const emptyJsonResponseBody: CommonHttpClientFetchResponseBody;
|
|
6
|
-
export declare const isJsonMediaType: (mediaType: string) => boolean;
|
|
7
13
|
/**
|
|
8
|
-
*
|
|
9
|
-
* and empty body for JSON responses.
|
|
10
|
-
* This function helps to handle such cases across different fetch implementations.
|
|
14
|
+
* Checks if the provided media type is JSON.
|
|
11
15
|
*/
|
|
12
|
-
export declare
|
|
13
|
-
/** Content type raw header value. */
|
|
14
|
-
contentType: string | undefined | null,
|
|
15
|
-
/** Content length raw header value. */
|
|
16
|
-
contentLength: string | undefined | null): boolean;
|
|
16
|
+
export declare const isJsonMediaType: (mediaType: string) => boolean;
|
|
17
17
|
/**
|
|
18
18
|
* Helper function to get response body from fetch response.
|
|
19
|
-
*
|
|
19
|
+
* Checks for empty JSON responses and returns data: null in such cases.
|
|
20
20
|
*/
|
|
21
21
|
export declare function getResponseBodyFromFetchResponse(response: Response | APIResponse): Promise<CommonHttpClientFetchResponseBody>;
|
|
@@ -9,48 +9,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getResponseBodyFromFetchResponse = exports.
|
|
12
|
+
exports.getResponseBodyFromFetchResponse = exports.isJsonMediaType = exports.emptyJsonResponseBody = exports.contentTypeHeaderName = void 0;
|
|
13
13
|
exports.contentTypeHeaderName = "content-type";
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Atlassian API Endpoints contradict HTTP specification by returning empty body for JSON responses.
|
|
16
|
+
* This response body is used as a fallback for such cases.
|
|
17
|
+
*/
|
|
15
18
|
exports.emptyJsonResponseBody = {
|
|
16
19
|
type: "json",
|
|
17
20
|
data: null,
|
|
18
21
|
};
|
|
19
|
-
const isJsonMediaType = (mediaType) => Boolean(mediaType.match(/^application\/(\w+\+)?json/));
|
|
20
|
-
exports.isJsonMediaType = isJsonMediaType;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
* and empty body for JSON responses.
|
|
24
|
-
* This function helps to handle such cases across different fetch implementations.
|
|
23
|
+
* Checks if the provided media type is JSON.
|
|
25
24
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
contentType,
|
|
29
|
-
/** Content length raw header value. */
|
|
30
|
-
contentLength) {
|
|
31
|
-
return Boolean(contentType && (0, exports.isJsonMediaType)(contentType) && contentLength === "0");
|
|
32
|
-
}
|
|
33
|
-
exports.shouldReturnEmptyJsonResponseBody = shouldReturnEmptyJsonResponseBody;
|
|
25
|
+
const isJsonMediaType = (mediaType) => Boolean(mediaType.match(/^application\/(\w+\+)?json/));
|
|
26
|
+
exports.isJsonMediaType = isJsonMediaType;
|
|
34
27
|
/**
|
|
35
28
|
* Helper function to get response body from fetch response.
|
|
36
|
-
*
|
|
29
|
+
* Checks for empty JSON responses and returns data: null in such cases.
|
|
37
30
|
*/
|
|
38
31
|
function getResponseBodyFromFetchResponse(response) {
|
|
39
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
33
|
const contentType = response.headers.get(exports.contentTypeHeaderName);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return
|
|
34
|
+
if (contentType && (0, exports.isJsonMediaType)(contentType)) {
|
|
35
|
+
const jsonText = yield response.text();
|
|
36
|
+
return jsonText
|
|
37
|
+
? { type: "json", data: JSON.parse(jsonText) }
|
|
38
|
+
: exports.emptyJsonResponseBody;
|
|
44
39
|
}
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
: {
|
|
51
|
-
type: "blob",
|
|
52
|
-
data: new Blob([yield response.arrayBuffer()]),
|
|
53
|
-
};
|
|
40
|
+
return {
|
|
41
|
+
type: "blob",
|
|
42
|
+
data: new Blob([yield response.arrayBuffer()]),
|
|
43
|
+
};
|
|
54
44
|
});
|
|
55
45
|
}
|
|
56
46
|
exports.getResponseBodyFromFetchResponse = getResponseBodyFromFetchResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetch/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetch/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQa,QAAA,qBAAqB,GAAG,cAAc,CAAC;AAEpD;;;GAGG;AACU,QAAA,qBAAqB,GAAsC;IACtE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;GAEG;AACI,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE,CAC5D,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAD5C,QAAA,eAAe,mBAC6B;AAEzD;;;GAGG;AACH,SAAsB,gCAAgC,CACpD,QAAgC;;QAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAAqB,CAAC,CAAC;QAEhE,IAAI,WAAW,IAAI,IAAA,uBAAe,EAAC,WAAW,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,OAAO,QAAQ;gBACb,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC9C,CAAC,CAAC,6BAAqB,CAAC;QAC5B,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;SAC/C,CAAC;IACJ,CAAC;CAAA;AAhBD,4EAgBC"}
|
|
@@ -13,10 +13,16 @@ function createAceFetch({ ace, clientKey, userAccountId, }) {
|
|
|
13
13
|
function toLowerCase(input) {
|
|
14
14
|
return input.toLowerCase();
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
function getResponseBody(buffer, contentType) {
|
|
17
|
+
if (contentType && (0, common_1.isJsonMediaType)(contentType) && buffer.length === 0) {
|
|
18
|
+
return common_1.emptyJsonResponseBody;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
type: "blob",
|
|
22
|
+
data: new Blob([
|
|
23
|
+
buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength),
|
|
24
|
+
]),
|
|
25
|
+
};
|
|
20
26
|
}
|
|
21
27
|
return function aceFetch(url, request) {
|
|
22
28
|
const lowerMethodName = toLowerCase(request.method);
|
|
@@ -45,9 +51,7 @@ function createAceFetch({ ace, clientKey, userAccountId, }) {
|
|
|
45
51
|
statusText: response.statusMessage,
|
|
46
52
|
customRequestProps: request.customRequestProps,
|
|
47
53
|
ok: response.statusCode >= 200 && response.statusCode < 300,
|
|
48
|
-
body: (
|
|
49
|
-
? common_1.emptyJsonResponseBody
|
|
50
|
-
: { type: "blob", data: getBlob(body) },
|
|
54
|
+
body: getResponseBody(body, response.headers[common_1.contentTypeHeaderName]),
|
|
51
55
|
});
|
|
52
56
|
});
|
|
53
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAceFetch.js","sourceRoot":"","sources":["../../src/fetch/createAceFetch.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"createAceFetch.js","sourceRoot":"","sources":["../../src/fetch/createAceFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,8 @@ exports.createApFetch = void 0;
|
|
|
13
13
|
const common_1 = require("./common");
|
|
14
14
|
function getResponseBody(headers, body) {
|
|
15
15
|
const contentType = headers[common_1.contentTypeHeaderName];
|
|
16
|
-
if (contentType && (0, common_1.isJsonMediaType)(contentType)) {
|
|
17
|
-
|
|
18
|
-
return common_1.emptyJsonResponseBody;
|
|
19
|
-
}
|
|
20
|
-
return { type: "json", data: JSON.parse(new TextDecoder().decode(body)) };
|
|
16
|
+
if (contentType && (0, common_1.isJsonMediaType)(contentType) && body.byteLength === 0) {
|
|
17
|
+
return common_1.emptyJsonResponseBody;
|
|
21
18
|
}
|
|
22
19
|
return { type: "blob", data: new Blob([body]) };
|
|
23
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createApFetch.js","sourceRoot":"","sources":["../../src/fetch/createApFetch.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"createApFetch.js","sourceRoot":"","sources":["../../src/fetch/createApFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ExternalAuthFetchMethods } from "@forge/api";
|
|
2
|
+
import type { CommonHttpClientFetchRequest, CommonHttpClientFetchResponse } from "api-typescript-generator/openapi-client";
|
|
3
|
+
/**
|
|
4
|
+
* The product name of the Atlassian product instance supported by `createForgeApiWithProviderFetch`.
|
|
5
|
+
*/
|
|
6
|
+
type ApiClientForgeApiWithProviderProductName = "jira" | "confluence";
|
|
7
|
+
/**
|
|
8
|
+
* Forge API provider-based client options for JIRA.
|
|
9
|
+
*
|
|
10
|
+
* @category API Client Constructor Options
|
|
11
|
+
*/
|
|
12
|
+
export interface ApiClientForgeApiWithProviderOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Result of `forgeApi.asUser().withProvider(...)` call.
|
|
15
|
+
*/
|
|
16
|
+
forgeApiWithProvider: ExternalAuthFetchMethods;
|
|
17
|
+
/**
|
|
18
|
+
* The cloud ID of the Atlassian product instance.
|
|
19
|
+
*/
|
|
20
|
+
cloudId: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Creates a fetch function that uses the provided Forge API with provider to make requests.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createForgeApiWithProviderFetch({ forgeApiWithProvider, cloudId }: ApiClientForgeApiWithProviderOptions, productName: ApiClientForgeApiWithProviderProductName): (url: URL, request: CommonHttpClientFetchRequest) => Promise<CommonHttpClientFetchResponse>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createForgeApiWithProviderFetch = void 0;
|
|
13
|
+
const index_1 = require("./common/index");
|
|
14
|
+
/**
|
|
15
|
+
* The base URL for the Atlassian API.
|
|
16
|
+
* Is not used in order to perform the request, but is used to construct the URL for the response.
|
|
17
|
+
*/
|
|
18
|
+
const apiHostUrl = "https://api.atlassian.com";
|
|
19
|
+
/**
|
|
20
|
+
* Creates a fetch function that uses the provided Forge API with provider to make requests.
|
|
21
|
+
*/
|
|
22
|
+
function createForgeApiWithProviderFetch({ forgeApiWithProvider, cloudId }, productName) {
|
|
23
|
+
return function forgeBridgeFetch(url, request) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const path = `/ex/${productName}/${cloudId}${url.pathname}${url.search}`;
|
|
26
|
+
const response = yield forgeApiWithProvider.fetch(path, Object.assign(Object.assign({}, request), {
|
|
27
|
+
// Forge API package uses BodyInit from `node-fetch` package, which is a bit different to the native one.
|
|
28
|
+
body: request.body }));
|
|
29
|
+
const body = yield (0, index_1.getResponseBodyFromFetchResponse)(response);
|
|
30
|
+
const headers = {};
|
|
31
|
+
response.headers.forEach((value, key) => {
|
|
32
|
+
headers[key] = value;
|
|
33
|
+
});
|
|
34
|
+
if (response.headers.has("set-cookie") === true &&
|
|
35
|
+
"getSetCookie" in response.headers) {
|
|
36
|
+
headers["set-cookie"] = response.headers.getSetCookie();
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
status: response.status,
|
|
40
|
+
statusText: response.statusText,
|
|
41
|
+
body,
|
|
42
|
+
url: `${apiHostUrl}${path}`,
|
|
43
|
+
headers,
|
|
44
|
+
ok: response.ok,
|
|
45
|
+
customRequestProps: request.customRequestProps,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
exports.createForgeApiWithProviderFetch = createForgeApiWithProviderFetch;
|
|
51
|
+
//# sourceMappingURL=createForgeApiWithProviderFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createForgeApiWithProviderFetch.js","sourceRoot":"","sources":["../../src/fetch/createForgeApiWithProviderFetch.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,0CAAkE;AAOlE;;;GAGG;AACH,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAkB/C;;GAEG;AACH,SAAgB,+BAA+B,CAC7C,EAAE,oBAAoB,EAAE,OAAO,EAAwC,EACvE,WAAqD;IAErD,OAAO,SAAe,gBAAgB,CACpC,GAAQ,EACR,OAAqC;;YAErC,MAAM,IAAI,GAAG,OAAO,WAAW,IAAI,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,kCACjD,OAAO;gBACV,yGAAyG;gBACzG,IAAI,EAAE,OAAO,CAAC,IAAa,IAC3B,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAA,wCAAgC,EAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAoC,EAAE,CAAC;YACpD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IACE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;gBAC3C,cAAc,IAAI,QAAQ,CAAC,OAAO,EAClC,CAAC;gBACD,OAAO,CAAC,YAAY,CAAC,GACnB,QAAQ,CAAC,OAGV,CAAC,YAAY,EAAE,CAAC;YACnB,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,IAAI;gBACJ,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE;gBAC3B,OAAO;gBACP,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;aAC/C,CAAC;QACJ,CAAC;KAAA,CAAC;AACJ,CAAC;AAvCD,0EAuCC"}
|
|
@@ -5,16 +5,16 @@ import type { CommonHttpClientFetchRequest, CommonHttpClientFetchResponse } from
|
|
|
5
5
|
*
|
|
6
6
|
* @category API Client Constructor Options
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export interface ApiClientForgeBridgeJiraOptions {
|
|
9
9
|
requestJira: typeof requestJira;
|
|
10
|
-
}
|
|
10
|
+
}
|
|
11
11
|
/**
|
|
12
12
|
* Forge-based frontend API client options for Confluence.
|
|
13
13
|
*
|
|
14
14
|
* @category API Client Constructor Options
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export interface ApiClientForgeBridgeConfluenceOptions {
|
|
17
17
|
requestConfluence: typeof requestConfluence;
|
|
18
|
-
}
|
|
18
|
+
}
|
|
19
19
|
export declare const createJiraForgeBridgeFetch: ({ requestJira, }: ApiClientForgeBridgeJiraOptions) => (url: URL, request: CommonHttpClientFetchRequest) => Promise<CommonHttpClientFetchResponse>;
|
|
20
20
|
export declare const createConfluenceForgeBridgeFetch: ({ requestConfluence, }: ApiClientForgeBridgeConfluenceOptions) => (url: URL, request: CommonHttpClientFetchRequest) => Promise<CommonHttpClientFetchResponse>;
|
package/lib/fetch/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { CommonHttpClientOptions } from "api-typescript-generator/openapi-client";
|
|
2
|
+
import type { AtlassianProductName } from "./common";
|
|
2
3
|
import { type ApiClientAceOptions } from "./createAceFetch";
|
|
3
4
|
import { type ApiClientApOptions } from "./createApFetch";
|
|
4
5
|
import { type ApiClientForgeApiExternalOptions } from "./createForgeApiExternalFetch";
|
|
5
6
|
import { type ApiClientForgeApiOptions } from "./createForgeApiFetch";
|
|
7
|
+
import { type ApiClientForgeApiWithProviderOptions } from "./createForgeApiWithProviderFetch";
|
|
6
8
|
import { type ApiClientForgeBridgeConfluenceOptions, type ApiClientForgeBridgeJiraOptions } from "./createForgeBridgeFetch";
|
|
7
|
-
export type AllOpenApiClientOptions = ApiClientAceOptions | ApiClientApOptions | ApiClientForgeApiOptions | ApiClientForgeBridgeJiraOptions | ApiClientForgeBridgeConfluenceOptions | ApiClientForgeApiExternalOptions;
|
|
9
|
+
export type AllOpenApiClientOptions = ApiClientAceOptions | ApiClientApOptions | ApiClientForgeApiOptions | ApiClientForgeBridgeJiraOptions | ApiClientForgeBridgeConfluenceOptions | ApiClientForgeApiExternalOptions | ApiClientForgeApiWithProviderOptions;
|
|
8
10
|
export type ApiClientOptions<T extends AllOpenApiClientOptions> = T & {
|
|
9
11
|
/**
|
|
10
12
|
* Custom validation error handler.
|
|
@@ -13,8 +15,8 @@ export type ApiClientOptions<T extends AllOpenApiClientOptions> = T & {
|
|
|
13
15
|
};
|
|
14
16
|
export declare function getCommonApiClientOptions<TOptions extends AllOpenApiClientOptions>(options: ApiClientOptions<TOptions> & {
|
|
15
17
|
basePath?: string;
|
|
16
|
-
}): Partial<CommonHttpClientOptions>;
|
|
17
|
-
type CommonApiClientOptions = ApiClientAceOptions | ApiClientApOptions | ApiClientForgeApiOptions | ApiClientForgeApiExternalOptions;
|
|
18
|
+
}, productName: AtlassianProductName): Partial<CommonHttpClientOptions>;
|
|
19
|
+
type CommonApiClientOptions = ApiClientAceOptions | ApiClientApOptions | ApiClientForgeApiOptions | ApiClientForgeApiExternalOptions | ApiClientForgeApiWithProviderOptions;
|
|
18
20
|
export declare function createAsAppMethod<TClass extends new (options: CommonApiClientOptions) => unknown>(): () => InstanceType<TClass>;
|
|
19
21
|
export declare function createAsUserMethod<TClass extends new (options: CommonApiClientOptions) => unknown>(): (userAccountId: string) => InstanceType<TClass>;
|
|
20
22
|
export {};
|
package/lib/fetch/index.js
CHANGED
|
@@ -6,12 +6,13 @@ const createAceFetch_1 = require("./createAceFetch");
|
|
|
6
6
|
const createApFetch_1 = require("./createApFetch");
|
|
7
7
|
const createForgeApiExternalFetch_1 = require("./createForgeApiExternalFetch");
|
|
8
8
|
const createForgeApiFetch_1 = require("./createForgeApiFetch");
|
|
9
|
+
const createForgeApiWithProviderFetch_1 = require("./createForgeApiWithProviderFetch");
|
|
9
10
|
const createForgeBridgeFetch_1 = require("./createForgeBridgeFetch");
|
|
10
11
|
/**
|
|
11
12
|
* Get fetch function by API client options.
|
|
12
13
|
* We have a huge number of fetch-functions here!
|
|
13
14
|
*/
|
|
14
|
-
function getFetchByOptions(options) {
|
|
15
|
+
function getFetchByOptions(options, productName) {
|
|
15
16
|
if ("forgeApi" in options) {
|
|
16
17
|
return (0, createForgeApiFetch_1.createForgeApiFetch)(options);
|
|
17
18
|
}
|
|
@@ -30,6 +31,9 @@ function getFetchByOptions(options) {
|
|
|
30
31
|
else if ("fetch" in options) {
|
|
31
32
|
return (0, createForgeApiExternalFetch_1.createForgeApiExternalFetch)(options);
|
|
32
33
|
}
|
|
34
|
+
else if ("forgeApiWithProvider" in options) {
|
|
35
|
+
return (0, createForgeApiWithProviderFetch_1.createForgeApiWithProviderFetch)(options, productName);
|
|
36
|
+
}
|
|
33
37
|
throw new Error("Unknown API Client options.");
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
@@ -56,9 +60,9 @@ function formatHttpErrorMessage(response) {
|
|
|
56
60
|
}
|
|
57
61
|
return `HTTP Error ${response.status} (${response.statusText})${additionalDetails}`;
|
|
58
62
|
}
|
|
59
|
-
function getCommonApiClientOptions(options) {
|
|
63
|
+
function getCommonApiClientOptions(options, productName) {
|
|
60
64
|
const result = {
|
|
61
|
-
fetch: getFetchByOptions(options),
|
|
65
|
+
fetch: getFetchByOptions(options, productName),
|
|
62
66
|
formatHttpErrorMessage,
|
|
63
67
|
errorClass: ApiError_1.ApiError,
|
|
64
68
|
};
|
package/lib/fetch/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":";;;AAKA,0CAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { ApiClientAceOptions } from "./fetch/createAceFetch";
|
|
|
4
4
|
export { ApiClientApOptions } from "./fetch/createApFetch";
|
|
5
5
|
export { ApiClientForgeApiOptions } from "./fetch/createForgeApiFetch";
|
|
6
6
|
export { ApiClientForgeApiExternalOptions } from "./fetch/createForgeApiExternalFetch";
|
|
7
|
+
export { ApiClientForgeApiWithProviderOptions } from "./fetch/createForgeApiWithProviderFetch";
|
|
7
8
|
export { ApiClientForgeBridgeJiraOptions, ApiClientForgeBridgeConfluenceOptions, } from "./fetch/createForgeBridgeFetch";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@resolution/atlassian-api-common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Shared code across different implementations of Atlassian API Clients.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "fad3f459b4f73fc4f9c301ab0154dc22ef2cc3de"
|
|
47
47
|
}
|