@keboola/api-client 0.1.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/LICENSE +21 -0
- package/README.md +456 -0
- package/dist/ai/index.cjs +203 -0
- package/dist/ai/index.cjs.map +1 -0
- package/dist/ai/index.d.cts +35 -0
- package/dist/ai/index.d.ts +35 -0
- package/dist/ai/index.js +197 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/types.cjs +4 -0
- package/dist/ai/types.cjs.map +1 -0
- package/dist/ai/types.d.cts +2 -0
- package/dist/ai/types.d.ts +2 -0
- package/dist/ai/types.js +3 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/assets/index.cjs +182 -0
- package/dist/assets/index.cjs.map +1 -0
- package/dist/assets/index.d.cts +9 -0
- package/dist/assets/index.d.ts +9 -0
- package/dist/assets/index.js +176 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/types.cjs +4 -0
- package/dist/assets/types.cjs.map +1 -0
- package/dist/assets/types.d.cts +8 -0
- package/dist/assets/types.d.ts +8 -0
- package/dist/assets/types.js +3 -0
- package/dist/assets/types.js.map +1 -0
- package/dist/authMiddleware-BTFSCMTE.d.ts +11 -0
- package/dist/authMiddleware-BteBe1Bt.d.cts +11 -0
- package/dist/chat/index.cjs +428 -0
- package/dist/chat/index.cjs.map +1 -0
- package/dist/chat/index.d.cts +51 -0
- package/dist/chat/index.d.ts +51 -0
- package/dist/chat/index.js +422 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/suggestions.cjs +158 -0
- package/dist/chat/suggestions.cjs.map +1 -0
- package/dist/chat/suggestions.d.cts +437 -0
- package/dist/chat/suggestions.d.ts +437 -0
- package/dist/chat/suggestions.js +140 -0
- package/dist/chat/suggestions.js.map +1 -0
- package/dist/chat/types.cjs +10 -0
- package/dist/chat/types.cjs.map +1 -0
- package/dist/chat/types.d.cts +3 -0
- package/dist/chat/types.d.ts +3 -0
- package/dist/chat/types.js +8 -0
- package/dist/chat/types.js.map +1 -0
- package/dist/createGenericFetchClient-CLUzu-jY.d.cts +18 -0
- package/dist/createGenericFetchClient-DEakI3F1.d.ts +18 -0
- package/dist/createOpenapiFetchClient-CpXmAIFB.d.cts +24 -0
- package/dist/createOpenapiFetchClient-_sm4bchL.d.ts +24 -0
- package/dist/dataScience/index.cjs +416 -0
- package/dist/dataScience/index.cjs.map +1 -0
- package/dist/dataScience/index.d.cts +191 -0
- package/dist/dataScience/index.d.ts +191 -0
- package/dist/dataScience/index.js +388 -0
- package/dist/dataScience/index.js.map +1 -0
- package/dist/dataScience/types.cjs +4 -0
- package/dist/dataScience/types.cjs.map +1 -0
- package/dist/dataScience/types.d.cts +2 -0
- package/dist/dataScience/types.d.ts +2 -0
- package/dist/dataScience/types.js +3 -0
- package/dist/dataScience/types.js.map +1 -0
- package/dist/editor/index.cjs +275 -0
- package/dist/editor/index.cjs.map +1 -0
- package/dist/editor/index.d.cts +172 -0
- package/dist/editor/index.d.ts +172 -0
- package/dist/editor/index.js +269 -0
- package/dist/editor/index.js.map +1 -0
- package/dist/editor/types.cjs +4 -0
- package/dist/editor/types.cjs.map +1 -0
- package/dist/editor/types.d.cts +2 -0
- package/dist/editor/types.d.ts +2 -0
- package/dist/editor/types.js +3 -0
- package/dist/editor/types.js.map +1 -0
- package/dist/encryption/index.cjs +192 -0
- package/dist/encryption/index.cjs.map +1 -0
- package/dist/encryption/index.d.cts +14 -0
- package/dist/encryption/index.d.ts +14 -0
- package/dist/encryption/index.js +186 -0
- package/dist/encryption/index.js.map +1 -0
- package/dist/encryption/types.cjs +4 -0
- package/dist/encryption/types.cjs.map +1 -0
- package/dist/encryption/types.d.cts +8 -0
- package/dist/encryption/types.d.ts +8 -0
- package/dist/encryption/types.js +3 -0
- package/dist/encryption/types.js.map +1 -0
- package/dist/import/index.cjs +198 -0
- package/dist/import/index.cjs.map +1 -0
- package/dist/import/index.d.cts +9 -0
- package/dist/import/index.d.ts +9 -0
- package/dist/import/index.js +192 -0
- package/dist/import/index.js.map +1 -0
- package/dist/index.cjs +3910 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3108 -0
- package/dist/index.d.ts +3108 -0
- package/dist/index.js +3858 -0
- package/dist/index.js.map +1 -0
- package/dist/keboolaUID-D1DGSbge.d.cts +19 -0
- package/dist/keboolaUID-D1DGSbge.d.ts +19 -0
- package/dist/management/index.cjs +872 -0
- package/dist/management/index.cjs.map +1 -0
- package/dist/management/index.d.cts +440 -0
- package/dist/management/index.d.ts +440 -0
- package/dist/management/index.js +865 -0
- package/dist/management/index.js.map +1 -0
- package/dist/management/types.cjs +4 -0
- package/dist/management/types.cjs.map +1 -0
- package/dist/management/types.d.cts +9 -0
- package/dist/management/types.d.ts +9 -0
- package/dist/management/types.js +3 -0
- package/dist/management/types.js.map +1 -0
- package/dist/metastore/index.cjs +339 -0
- package/dist/metastore/index.cjs.map +1 -0
- package/dist/metastore/index.d.cts +52 -0
- package/dist/metastore/index.d.ts +52 -0
- package/dist/metastore/index.js +333 -0
- package/dist/metastore/index.js.map +1 -0
- package/dist/metastore/types.cjs +4 -0
- package/dist/metastore/types.cjs.map +1 -0
- package/dist/metastore/types.d.cts +2 -0
- package/dist/metastore/types.d.ts +2 -0
- package/dist/metastore/types.js +3 -0
- package/dist/metastore/types.js.map +1 -0
- package/dist/queryService/index.cjs +250 -0
- package/dist/queryService/index.cjs.map +1 -0
- package/dist/queryService/index.d.cts +39 -0
- package/dist/queryService/index.d.ts +39 -0
- package/dist/queryService/index.js +244 -0
- package/dist/queryService/index.js.map +1 -0
- package/dist/queryService/types.cjs +4 -0
- package/dist/queryService/types.cjs.map +1 -0
- package/dist/queryService/types.d.cts +2 -0
- package/dist/queryService/types.d.ts +2 -0
- package/dist/queryService/types.js +3 -0
- package/dist/queryService/types.js.map +1 -0
- package/dist/queue/index.cjs +192 -0
- package/dist/queue/index.cjs.map +1 -0
- package/dist/queue/index.d.cts +133 -0
- package/dist/queue/index.d.ts +133 -0
- package/dist/queue/index.js +186 -0
- package/dist/queue/index.js.map +1 -0
- package/dist/queue/types.cjs +4 -0
- package/dist/queue/types.cjs.map +1 -0
- package/dist/queue/types.d.cts +2 -0
- package/dist/queue/types.d.ts +2 -0
- package/dist/queue/types.js +3 -0
- package/dist/queue/types.js.map +1 -0
- package/dist/sdk/storage/index.cjs +96 -0
- package/dist/sdk/storage/index.cjs.map +1 -0
- package/dist/sdk/storage/index.d.cts +24 -0
- package/dist/sdk/storage/index.d.ts +24 -0
- package/dist/sdk/storage/index.js +94 -0
- package/dist/sdk/storage/index.js.map +1 -0
- package/dist/sdk/tag/index.cjs +210 -0
- package/dist/sdk/tag/index.cjs.map +1 -0
- package/dist/sdk/tag/index.d.cts +25 -0
- package/dist/sdk/tag/index.d.ts +25 -0
- package/dist/sdk/tag/index.js +208 -0
- package/dist/sdk/tag/index.js.map +1 -0
- package/dist/sdk/tag/types.cjs +4 -0
- package/dist/sdk/tag/types.cjs.map +1 -0
- package/dist/sdk/tag/types.d.cts +30 -0
- package/dist/sdk/tag/types.d.ts +30 -0
- package/dist/sdk/tag/types.js +3 -0
- package/dist/sdk/tag/types.js.map +1 -0
- package/dist/status/index.cjs +178 -0
- package/dist/status/index.cjs.map +1 -0
- package/dist/status/index.d.cts +10 -0
- package/dist/status/index.d.ts +10 -0
- package/dist/status/index.js +172 -0
- package/dist/status/index.js.map +1 -0
- package/dist/status/types.cjs +4 -0
- package/dist/status/types.cjs.map +1 -0
- package/dist/status/types.d.cts +19 -0
- package/dist/status/types.d.ts +19 -0
- package/dist/status/types.js +3 -0
- package/dist/status/types.js.map +1 -0
- package/dist/storage/index.cjs +1021 -0
- package/dist/storage/index.cjs.map +1 -0
- package/dist/storage/index.d.cts +12 -0
- package/dist/storage/index.d.ts +12 -0
- package/dist/storage/index.js +1014 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/types.cjs +4 -0
- package/dist/storage/types.cjs.map +1 -0
- package/dist/storage/types.d.cts +10976 -0
- package/dist/storage/types.d.ts +10976 -0
- package/dist/storage/types.js +3 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storageClient-DPLh_p0V.d.cts +608 -0
- package/dist/storageClient-YVWer22Y.d.ts +608 -0
- package/dist/syncActions/index.cjs +366 -0
- package/dist/syncActions/index.cjs.map +1 -0
- package/dist/syncActions/index.d.cts +94 -0
- package/dist/syncActions/index.d.ts +94 -0
- package/dist/syncActions/index.js +341 -0
- package/dist/syncActions/index.js.map +1 -0
- package/dist/syncActions/types.cjs +4 -0
- package/dist/syncActions/types.cjs.map +1 -0
- package/dist/syncActions/types.d.cts +261 -0
- package/dist/syncActions/types.d.ts +261 -0
- package/dist/syncActions/types.js +3 -0
- package/dist/syncActions/types.js.map +1 -0
- package/dist/telemetry/index.cjs +189 -0
- package/dist/telemetry/index.cjs.map +1 -0
- package/dist/telemetry/index.d.cts +13 -0
- package/dist/telemetry/index.d.ts +13 -0
- package/dist/telemetry/index.js +183 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/types.cjs +4 -0
- package/dist/telemetry/types.cjs.map +1 -0
- package/dist/telemetry/types.d.cts +12 -0
- package/dist/telemetry/types.d.ts +12 -0
- package/dist/telemetry/types.js +3 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/types-B51cQMrX.d.ts +1408 -0
- package/dist/types-B7k8S4ki.d.ts +1520 -0
- package/dist/types-BNQK_jR_.d.cts +1520 -0
- package/dist/types-BY0tjg2Q.d.ts +1079 -0
- package/dist/types-BeShtGlc.d.cts +8591 -0
- package/dist/types-BeShtGlc.d.ts +8591 -0
- package/dist/types-BjrNNn5I.d.ts +1643 -0
- package/dist/types-C-bd4ArM.d.cts +1079 -0
- package/dist/types-C7mpAfq-.d.cts +64 -0
- package/dist/types-C7mpAfq-.d.ts +64 -0
- package/dist/types-CGMJT3JL.d.ts +943 -0
- package/dist/types-CRSKcua9.d.cts +1314 -0
- package/dist/types-DJ6nbNq5.d.cts +1643 -0
- package/dist/types-DJkU9gvB.d.cts +943 -0
- package/dist/types-DYMMsuU0.d.cts +78 -0
- package/dist/types-DYMMsuU0.d.ts +78 -0
- package/dist/types-Dg1tEsVR.d.cts +17 -0
- package/dist/types-Dg1tEsVR.d.ts +17 -0
- package/dist/types-DgaMV8FF.d.cts +60 -0
- package/dist/types-DgaMV8FF.d.ts +60 -0
- package/dist/types-Dws8mFNY.d.cts +1408 -0
- package/dist/types-cH0_hkCW.d.ts +1314 -0
- package/dist/utils-BNQZiNOu.d.ts +1657 -0
- package/dist/utils-DE09pDTi.d.cts +1657 -0
- package/dist/vault/index.cjs +225 -0
- package/dist/vault/index.cjs.map +1 -0
- package/dist/vault/index.d.cts +26 -0
- package/dist/vault/index.d.ts +26 -0
- package/dist/vault/index.js +219 -0
- package/dist/vault/index.js.map +1 -0
- package/dist/vault/types.cjs +4 -0
- package/dist/vault/types.cjs.map +1 -0
- package/dist/vault/types.d.cts +390 -0
- package/dist/vault/types.d.ts +390 -0
- package/dist/vault/types.js +3 -0
- package/dist/vault/types.js.map +1 -0
- package/dist/verify/index.cjs +190 -0
- package/dist/verify/index.cjs.map +1 -0
- package/dist/verify/index.d.cts +9 -0
- package/dist/verify/index.d.ts +9 -0
- package/dist/verify/index.js +184 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/types.cjs +4 -0
- package/dist/verify/types.cjs.map +1 -0
- package/dist/verify/types.d.cts +29 -0
- package/dist/verify/types.d.ts +29 -0
- package/dist/verify/types.js +3 -0
- package/dist/verify/types.js.map +1 -0
- package/package.json +570 -0
|
@@ -0,0 +1,872 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var qs = require('qs');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var qs__default = /*#__PURE__*/_interopDefault(qs);
|
|
8
|
+
|
|
9
|
+
// src/errors/ApiError.ts
|
|
10
|
+
var ApiError = class extends Error {
|
|
11
|
+
response;
|
|
12
|
+
request;
|
|
13
|
+
data;
|
|
14
|
+
constructor({ response, request, data }) {
|
|
15
|
+
super(response.statusText);
|
|
16
|
+
this.response = response;
|
|
17
|
+
this.request = request;
|
|
18
|
+
this.data = data;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/errors/ManagementClientAuthError.ts
|
|
23
|
+
var ManagementClientAuthError = class extends ApiError {
|
|
24
|
+
title;
|
|
25
|
+
message;
|
|
26
|
+
constructor(title, message, res) {
|
|
27
|
+
super(res);
|
|
28
|
+
this.title = title;
|
|
29
|
+
this.message = message;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var HttpHeader = {
|
|
33
|
+
CONTENT_TYPE: "content-type"};
|
|
34
|
+
var HttpContentType = {
|
|
35
|
+
JSON: "application/json",
|
|
36
|
+
TEXT_HTML: "text/html"
|
|
37
|
+
};
|
|
38
|
+
var defaultValidateStatus = ({ response }) => response.status >= 200 && response.status <= 299;
|
|
39
|
+
function removeUndefined(obj) {
|
|
40
|
+
const objCopy = { ...obj };
|
|
41
|
+
for (const [key, value] of Object.entries(objCopy)) {
|
|
42
|
+
if (value == null) delete objCopy[key];
|
|
43
|
+
}
|
|
44
|
+
return objCopy;
|
|
45
|
+
}
|
|
46
|
+
var parseData = async (response) => {
|
|
47
|
+
if (response.status === 204) return null;
|
|
48
|
+
const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);
|
|
49
|
+
if (contentType && contentType == HttpContentType.JSON) {
|
|
50
|
+
return response.json();
|
|
51
|
+
}
|
|
52
|
+
const text = await response.text();
|
|
53
|
+
try {
|
|
54
|
+
return JSON.parse(text);
|
|
55
|
+
} catch {
|
|
56
|
+
return text;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var cleanHeadersInit = (headersInit) => {
|
|
60
|
+
if (Array.isArray(headersInit)) return headersInit;
|
|
61
|
+
if (headersInit instanceof Headers) return headersInit;
|
|
62
|
+
if (headersInit == null) return headersInit;
|
|
63
|
+
return removeUndefined(headersInit);
|
|
64
|
+
};
|
|
65
|
+
var createHeaders = (headersInitA, headersInitB) => {
|
|
66
|
+
const headersA = new Headers(cleanHeadersInit(headersInitA));
|
|
67
|
+
const headersB = new Headers(cleanHeadersInit(headersInitB));
|
|
68
|
+
headersB.forEach((value, key) => {
|
|
69
|
+
headersA.set(key, value);
|
|
70
|
+
});
|
|
71
|
+
return headersA;
|
|
72
|
+
};
|
|
73
|
+
var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
|
|
74
|
+
if (!(key in pathParam))
|
|
75
|
+
throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
|
|
76
|
+
return encodeURIComponent(pathParam[key]);
|
|
77
|
+
});
|
|
78
|
+
var createSearch = (query, options = {}) => {
|
|
79
|
+
return qs__default.default.stringify(query, {
|
|
80
|
+
encodeValuesOnly: true,
|
|
81
|
+
skipNulls: true,
|
|
82
|
+
...options
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
var createBody = (body, headers) => {
|
|
86
|
+
if (body == null) return null;
|
|
87
|
+
if (body instanceof FormData) return body;
|
|
88
|
+
if (typeof body === "string") return body;
|
|
89
|
+
const stringifyBody = JSON.stringify(body);
|
|
90
|
+
const stringBody = stringifyBody === "{}" ? null : stringifyBody;
|
|
91
|
+
if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
|
|
92
|
+
return stringBody;
|
|
93
|
+
};
|
|
94
|
+
var createFetchRequest = ({
|
|
95
|
+
url,
|
|
96
|
+
method,
|
|
97
|
+
params,
|
|
98
|
+
options = {},
|
|
99
|
+
defaultOptions
|
|
100
|
+
}) => {
|
|
101
|
+
const {
|
|
102
|
+
baseUrl,
|
|
103
|
+
validateStatus: defValidateStatus = defaultValidateStatus,
|
|
104
|
+
headers: defaultHeaders,
|
|
105
|
+
...restDefaultOptions
|
|
106
|
+
} = defaultOptions;
|
|
107
|
+
const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
|
|
108
|
+
const headers = createHeaders(defaultHeaders, endpointHeaders);
|
|
109
|
+
const path = createPath(url, params.path);
|
|
110
|
+
const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
|
|
111
|
+
const body = createBody(params.body, headers);
|
|
112
|
+
const urlInstance = new URL(baseUrl + path);
|
|
113
|
+
urlInstance.search = search;
|
|
114
|
+
const request = new Request(urlInstance, {
|
|
115
|
+
...restDefaultOptions,
|
|
116
|
+
...restOptions,
|
|
117
|
+
headers,
|
|
118
|
+
method: method.toUpperCase(),
|
|
119
|
+
body
|
|
120
|
+
});
|
|
121
|
+
return { request, validateStatus: validateStatus ?? defValidateStatus };
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// src/fetchClient/createFetchClient/createFetchClient.ts
|
|
125
|
+
var isApiError = (error) => error instanceof ApiError;
|
|
126
|
+
var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
|
|
127
|
+
const response = await fetchFn(request);
|
|
128
|
+
const data = await parseData(response);
|
|
129
|
+
const apiResponse = {
|
|
130
|
+
request,
|
|
131
|
+
response,
|
|
132
|
+
data
|
|
133
|
+
};
|
|
134
|
+
const boolOrError = validateStatus(apiResponse);
|
|
135
|
+
if (isApiError(boolOrError)) throw boolOrError;
|
|
136
|
+
if (!boolOrError) throw new ApiError(apiResponse);
|
|
137
|
+
return apiResponse;
|
|
138
|
+
};
|
|
139
|
+
var createFetchClient = ({
|
|
140
|
+
middlewares = [],
|
|
141
|
+
...defaultOptions
|
|
142
|
+
}) => {
|
|
143
|
+
const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
|
|
144
|
+
const fetchWithMiddlewares = middlewares.reduceRight(
|
|
145
|
+
(next, middleware) => middleware(next),
|
|
146
|
+
coreFetch
|
|
147
|
+
);
|
|
148
|
+
const createFetchMethod = (method) => async (url, params, options = {}) => {
|
|
149
|
+
const request = createFetchRequest({
|
|
150
|
+
url,
|
|
151
|
+
method,
|
|
152
|
+
params,
|
|
153
|
+
defaultOptions,
|
|
154
|
+
options
|
|
155
|
+
});
|
|
156
|
+
const methodMiddlewares = options?.middlewares ?? [];
|
|
157
|
+
return methodMiddlewares.reduceRight(
|
|
158
|
+
(next, middleware) => middleware(next),
|
|
159
|
+
fetchWithMiddlewares
|
|
160
|
+
)(request);
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
get: createFetchMethod("get"),
|
|
164
|
+
post: createFetchMethod("post"),
|
|
165
|
+
put: createFetchMethod("put"),
|
|
166
|
+
patch: createFetchMethod("patch"),
|
|
167
|
+
delete: createFetchMethod("delete")
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
// src/fetchClient/createFetchClient/middlewares.ts
|
|
172
|
+
var createCallbackMiddleware = ({ onError, onSettled, onSuccess } = {}) => (next) => async (request) => {
|
|
173
|
+
let response;
|
|
174
|
+
try {
|
|
175
|
+
response = await next(request);
|
|
176
|
+
onSuccess?.();
|
|
177
|
+
} catch (error) {
|
|
178
|
+
onError?.(error);
|
|
179
|
+
throw error;
|
|
180
|
+
} finally {
|
|
181
|
+
onSettled?.();
|
|
182
|
+
}
|
|
183
|
+
return response;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// src/fetchClient/createGenericFetchClient.ts
|
|
187
|
+
var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
188
|
+
|
|
189
|
+
// src/fetchClient/createOpenapiFetchClient.ts
|
|
190
|
+
var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
191
|
+
|
|
192
|
+
// src/constants.ts
|
|
193
|
+
var KeboolaHttpHeader = {
|
|
194
|
+
STORAGE_API_TOKEN: "X-StorageApi-Token",
|
|
195
|
+
MANAGEMENT_API_TOKEN: "X-Kbc-Manageapitoken"};
|
|
196
|
+
|
|
197
|
+
// src/clients/verify/createVerifyClient.ts
|
|
198
|
+
var createVerifyClient = () => {
|
|
199
|
+
const storageApiToken = async (host, token, signal) => {
|
|
200
|
+
const { data } = await createGenericFetchClient({
|
|
201
|
+
baseUrl: `${host}/v2/storage`,
|
|
202
|
+
headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token })
|
|
203
|
+
}).get("/tokens/verify", {}, { signal });
|
|
204
|
+
return data;
|
|
205
|
+
};
|
|
206
|
+
const managementApiToken = async (host, token, signal) => {
|
|
207
|
+
const { data } = await createGenericFetchClient({
|
|
208
|
+
baseUrl: host,
|
|
209
|
+
headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token })
|
|
210
|
+
}).get("/manage/tokens/verify", {}, { signal });
|
|
211
|
+
return data;
|
|
212
|
+
};
|
|
213
|
+
return {
|
|
214
|
+
storageApiToken,
|
|
215
|
+
managementApiToken
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
// src/clients/management/authMiddleware.ts
|
|
220
|
+
var isManagementClientAuthError = (error) => error instanceof ManagementClientAuthError;
|
|
221
|
+
var createAuth = (baseUrl) => {
|
|
222
|
+
const fetchClient = createGenericFetchClient({ baseUrl });
|
|
223
|
+
const createCurrentUserSessionToken = async (accessToken) => {
|
|
224
|
+
const headers = new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: accessToken });
|
|
225
|
+
const { data } = await fetchClient.post(
|
|
226
|
+
"/manage/current-user/session-token",
|
|
227
|
+
{},
|
|
228
|
+
{ headers }
|
|
229
|
+
);
|
|
230
|
+
return data.token;
|
|
231
|
+
};
|
|
232
|
+
const createAdminAccountSessionToken = async () => {
|
|
233
|
+
const { data } = await fetchClient.post(
|
|
234
|
+
"/admin/account/session-token",
|
|
235
|
+
{},
|
|
236
|
+
{
|
|
237
|
+
// transform valid response, to invalid and throw custom error
|
|
238
|
+
validateStatus: (apiResponse) => {
|
|
239
|
+
const { response } = apiResponse;
|
|
240
|
+
const isTextContent = response.headers.get(HttpHeader.CONTENT_TYPE)?.includes(HttpContentType.TEXT_HTML);
|
|
241
|
+
if (isTextContent)
|
|
242
|
+
return new ManagementClientAuthError(
|
|
243
|
+
"Your session expired",
|
|
244
|
+
"You will be logged out automatically.",
|
|
245
|
+
apiResponse
|
|
246
|
+
);
|
|
247
|
+
return defaultValidateStatus(apiResponse);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
);
|
|
251
|
+
return data.token;
|
|
252
|
+
};
|
|
253
|
+
return {
|
|
254
|
+
createCurrentUserSessionToken,
|
|
255
|
+
createAdminAccountSessionToken
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
var createAuthMiddleware = ({
|
|
259
|
+
accessToken,
|
|
260
|
+
baseUrl
|
|
261
|
+
}) => {
|
|
262
|
+
const auth = createAuth(baseUrl);
|
|
263
|
+
const verify = createVerifyClient();
|
|
264
|
+
let token = accessToken;
|
|
265
|
+
const isDevelopment = process.env.NODE_ENV === "development";
|
|
266
|
+
return (next) => async (request) => {
|
|
267
|
+
if (!!token) {
|
|
268
|
+
const tokenInfo = await verify.managementApiToken(baseUrl, token);
|
|
269
|
+
const isTokenValid = !tokenInfo.isDisabled && !tokenInfo.isExpired;
|
|
270
|
+
if (!isTokenValid) {
|
|
271
|
+
token = isDevelopment ? await auth.createCurrentUserSessionToken(token) : await auth.createAdminAccountSessionToken();
|
|
272
|
+
}
|
|
273
|
+
} else {
|
|
274
|
+
token = await auth.createAdminAccountSessionToken();
|
|
275
|
+
}
|
|
276
|
+
request.request.headers.set(KeboolaHttpHeader.MANAGEMENT_API_TOKEN, token);
|
|
277
|
+
return next(request);
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
// src/clients/management/currentUser/currentUser.ts
|
|
282
|
+
var createCurrentUser = (client) => {
|
|
283
|
+
const getMaintainerInvitations = async (signal) => {
|
|
284
|
+
const { data } = await client.get(
|
|
285
|
+
"/manage/current-user/maintainers-invitations",
|
|
286
|
+
{},
|
|
287
|
+
{ signal }
|
|
288
|
+
);
|
|
289
|
+
return data;
|
|
290
|
+
};
|
|
291
|
+
const getMaintainerInvitation = async (id, signal) => {
|
|
292
|
+
const { data } = await client.get(
|
|
293
|
+
"/manage/current-user/maintainers-invitations/{id}",
|
|
294
|
+
{ path: { id } },
|
|
295
|
+
{ signal }
|
|
296
|
+
);
|
|
297
|
+
return data;
|
|
298
|
+
};
|
|
299
|
+
const acceptMaintainerInvitation = async (id) => {
|
|
300
|
+
await client.put("/manage/current-user/maintainers-invitations/{id}", { path: { id } });
|
|
301
|
+
};
|
|
302
|
+
const rejectMaintainerInvitation = async (id) => {
|
|
303
|
+
await client.delete("/manage/current-user/maintainers-invitations/{id}", { path: { id } });
|
|
304
|
+
};
|
|
305
|
+
const getOrganizationInvitations = async (signal) => {
|
|
306
|
+
const { data } = await client.get(
|
|
307
|
+
"/manage/current-user/organizations-invitations",
|
|
308
|
+
{},
|
|
309
|
+
{ signal }
|
|
310
|
+
);
|
|
311
|
+
return data;
|
|
312
|
+
};
|
|
313
|
+
const getOrganizationInvitation = async (id, signal) => {
|
|
314
|
+
const { data } = await client.get(
|
|
315
|
+
"/manage/current-user/organizations-invitations/{id}",
|
|
316
|
+
{ path: { id } },
|
|
317
|
+
{ signal }
|
|
318
|
+
);
|
|
319
|
+
return data;
|
|
320
|
+
};
|
|
321
|
+
const acceptOrganizationInvitation = async (id) => {
|
|
322
|
+
await client.put("/manage/current-user/organizations-invitations/{id}", { path: { id } });
|
|
323
|
+
};
|
|
324
|
+
const rejectOrganizationInvitation = async (id) => {
|
|
325
|
+
await client.delete("/manage/current-user/organizations-invitations/{id}", { path: { id } });
|
|
326
|
+
};
|
|
327
|
+
const getProjectInvitations = async (signal) => {
|
|
328
|
+
const { data } = await client.get("/manage/current-user/projects-invitations", {}, { signal });
|
|
329
|
+
return data;
|
|
330
|
+
};
|
|
331
|
+
const getProjectInvitation = async (id, signal) => {
|
|
332
|
+
const { data } = await client.get(
|
|
333
|
+
"/manage/current-user/projects-invitations/{id}",
|
|
334
|
+
{ path: { id } },
|
|
335
|
+
{ signal }
|
|
336
|
+
);
|
|
337
|
+
return data;
|
|
338
|
+
};
|
|
339
|
+
const acceptProjectInvitation = async (id) => {
|
|
340
|
+
await client.put("/manage/current-user/projects-invitations/{id}", { path: { id } });
|
|
341
|
+
};
|
|
342
|
+
const rejectProjectInvitation = async (id) => {
|
|
343
|
+
await client.delete("/manage/current-user/projects-invitations/{id}", { path: { id } });
|
|
344
|
+
};
|
|
345
|
+
const getProjectJoinRequests = async (signal) => {
|
|
346
|
+
const { data } = await client.get(
|
|
347
|
+
"/manage/current-user/projects-join-requests",
|
|
348
|
+
{},
|
|
349
|
+
{ signal }
|
|
350
|
+
);
|
|
351
|
+
return data;
|
|
352
|
+
};
|
|
353
|
+
const deleteProjectJoinRequest = async (id) => {
|
|
354
|
+
await client.delete("/manage/current-user/projects-join-requests/{id}", { path: { id } });
|
|
355
|
+
};
|
|
356
|
+
return {
|
|
357
|
+
getMaintainerInvitations,
|
|
358
|
+
getMaintainerInvitation,
|
|
359
|
+
acceptMaintainerInvitation,
|
|
360
|
+
rejectMaintainerInvitation,
|
|
361
|
+
getOrganizationInvitations,
|
|
362
|
+
getOrganizationInvitation,
|
|
363
|
+
acceptOrganizationInvitation,
|
|
364
|
+
rejectOrganizationInvitation,
|
|
365
|
+
getProjectInvitations,
|
|
366
|
+
getProjectInvitation,
|
|
367
|
+
acceptProjectInvitation,
|
|
368
|
+
rejectProjectInvitation,
|
|
369
|
+
getProjectJoinRequests,
|
|
370
|
+
deleteProjectJoinRequest
|
|
371
|
+
};
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
// src/clients/management/features/features.ts
|
|
375
|
+
var createFeatures = (client) => {
|
|
376
|
+
const getAllFeatures = async (query, signal) => {
|
|
377
|
+
const { data } = await client.get(
|
|
378
|
+
"/features",
|
|
379
|
+
{ query },
|
|
380
|
+
{ signal }
|
|
381
|
+
);
|
|
382
|
+
return data;
|
|
383
|
+
};
|
|
384
|
+
return {
|
|
385
|
+
getAllFeatures
|
|
386
|
+
};
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
// src/clients/management/maintainers/maintainers.ts
|
|
390
|
+
var createMaintainers = (client) => {
|
|
391
|
+
const getMaintainers = async (signal) => {
|
|
392
|
+
const { data } = await client.get("/manage/maintainers", {}, { signal });
|
|
393
|
+
return data;
|
|
394
|
+
};
|
|
395
|
+
const getMaintainer = async (maintainerId, signal) => {
|
|
396
|
+
const { data } = await client.get(
|
|
397
|
+
"/manage/maintainers/{id}",
|
|
398
|
+
{ path: { id: maintainerId } },
|
|
399
|
+
{ signal }
|
|
400
|
+
);
|
|
401
|
+
return data;
|
|
402
|
+
};
|
|
403
|
+
const createMaintainer = async (body) => {
|
|
404
|
+
const { data } = await client.post("/manage/maintainers", { body });
|
|
405
|
+
return data;
|
|
406
|
+
};
|
|
407
|
+
const updateMaintainer = async ({
|
|
408
|
+
maintainerId,
|
|
409
|
+
...body
|
|
410
|
+
}) => {
|
|
411
|
+
const { data } = await client.patch("/manage/maintainers/{id}", {
|
|
412
|
+
path: { id: maintainerId },
|
|
413
|
+
body
|
|
414
|
+
});
|
|
415
|
+
return data;
|
|
416
|
+
};
|
|
417
|
+
const deleteMaintainer = async (maintainerId) => {
|
|
418
|
+
await client.delete("/manage/maintainers/{id}", { path: { id: maintainerId } });
|
|
419
|
+
};
|
|
420
|
+
const getMaintainerUsers = async (maintainerId, signal) => {
|
|
421
|
+
const { data } = await client.get(
|
|
422
|
+
"/manage/maintainers/{id}/users",
|
|
423
|
+
{ path: { id: maintainerId } },
|
|
424
|
+
{ signal }
|
|
425
|
+
);
|
|
426
|
+
return data;
|
|
427
|
+
};
|
|
428
|
+
const addMaintainerUser = async ({
|
|
429
|
+
maintainerId,
|
|
430
|
+
...body
|
|
431
|
+
}) => {
|
|
432
|
+
const { data } = await client.post("/manage/maintainers/{id}/users", {
|
|
433
|
+
path: { id: maintainerId },
|
|
434
|
+
body
|
|
435
|
+
});
|
|
436
|
+
return data;
|
|
437
|
+
};
|
|
438
|
+
const removeMaintainerUser = async ({
|
|
439
|
+
maintainerId,
|
|
440
|
+
adminId
|
|
441
|
+
}) => {
|
|
442
|
+
await client.delete("/manage/maintainers/{id}/users/{adminId}", {
|
|
443
|
+
path: { id: maintainerId, adminId }
|
|
444
|
+
});
|
|
445
|
+
};
|
|
446
|
+
const getMaintainerInvitations = async (maintainerId, signal) => {
|
|
447
|
+
const { data } = await client.get(
|
|
448
|
+
"/manage/maintainers/{id}/invitations",
|
|
449
|
+
{ path: { id: maintainerId } },
|
|
450
|
+
{ signal }
|
|
451
|
+
);
|
|
452
|
+
return data;
|
|
453
|
+
};
|
|
454
|
+
const getMaintainerInvitation = async ({ maintainerId, invitationId }, signal) => {
|
|
455
|
+
const { data } = await client.get(
|
|
456
|
+
"/manage/maintainers/{id}/invitations/{invitationId}",
|
|
457
|
+
{ path: { id: maintainerId, invitationId } },
|
|
458
|
+
{ signal }
|
|
459
|
+
);
|
|
460
|
+
return data;
|
|
461
|
+
};
|
|
462
|
+
const createMaintainerInvitation = async ({
|
|
463
|
+
maintainerId,
|
|
464
|
+
...body
|
|
465
|
+
}) => {
|
|
466
|
+
const { data } = await client.post("/manage/maintainers/{id}/invitations", {
|
|
467
|
+
path: { id: maintainerId },
|
|
468
|
+
body
|
|
469
|
+
});
|
|
470
|
+
return data;
|
|
471
|
+
};
|
|
472
|
+
const deleteMaintainerInvitation = async ({
|
|
473
|
+
maintainerId,
|
|
474
|
+
invitationId
|
|
475
|
+
}) => {
|
|
476
|
+
await client.delete("/manage/maintainers/{id}/invitations/{invitationId}", {
|
|
477
|
+
path: { id: maintainerId, invitationId }
|
|
478
|
+
});
|
|
479
|
+
};
|
|
480
|
+
const getMaintainerOrganizations = async (maintainerId, signal) => {
|
|
481
|
+
const { data } = await client.get(
|
|
482
|
+
"/manage/maintainers/{id}/organizations",
|
|
483
|
+
{ path: { id: maintainerId } },
|
|
484
|
+
{ signal }
|
|
485
|
+
);
|
|
486
|
+
return data;
|
|
487
|
+
};
|
|
488
|
+
const createMaintainerOrganization = async ({
|
|
489
|
+
maintainerId,
|
|
490
|
+
...body
|
|
491
|
+
}) => {
|
|
492
|
+
const { data } = await client.post("/manage/maintainers/{id}/organizations", {
|
|
493
|
+
path: { id: maintainerId },
|
|
494
|
+
body
|
|
495
|
+
});
|
|
496
|
+
return data;
|
|
497
|
+
};
|
|
498
|
+
const getMaintainerMetadata = async (maintainerId, signal) => {
|
|
499
|
+
const { data } = await client.get(
|
|
500
|
+
"/manage/maintainers/{id}/metadata",
|
|
501
|
+
{ path: { id: maintainerId } },
|
|
502
|
+
{ signal }
|
|
503
|
+
);
|
|
504
|
+
return data;
|
|
505
|
+
};
|
|
506
|
+
const setMaintainerMetadata = async ({
|
|
507
|
+
maintainerId,
|
|
508
|
+
...body
|
|
509
|
+
}) => {
|
|
510
|
+
const { data } = await client.post("/manage/maintainers/{id}/metadata", {
|
|
511
|
+
path: { id: maintainerId },
|
|
512
|
+
body
|
|
513
|
+
});
|
|
514
|
+
return data;
|
|
515
|
+
};
|
|
516
|
+
const deleteMaintainerMetadata = async ({
|
|
517
|
+
maintainerId,
|
|
518
|
+
metadataId
|
|
519
|
+
}) => {
|
|
520
|
+
await client.delete("/manage/maintainers/{id}/metadata/{metadataId}", {
|
|
521
|
+
path: { id: maintainerId, metadataId }
|
|
522
|
+
});
|
|
523
|
+
};
|
|
524
|
+
return {
|
|
525
|
+
getMaintainers,
|
|
526
|
+
getMaintainer,
|
|
527
|
+
createMaintainer,
|
|
528
|
+
updateMaintainer,
|
|
529
|
+
deleteMaintainer,
|
|
530
|
+
getMaintainerUsers,
|
|
531
|
+
addMaintainerUser,
|
|
532
|
+
removeMaintainerUser,
|
|
533
|
+
getMaintainerInvitations,
|
|
534
|
+
getMaintainerInvitation,
|
|
535
|
+
createMaintainerInvitation,
|
|
536
|
+
deleteMaintainerInvitation,
|
|
537
|
+
getMaintainerOrganizations,
|
|
538
|
+
createMaintainerOrganization,
|
|
539
|
+
getMaintainerMetadata,
|
|
540
|
+
setMaintainerMetadata,
|
|
541
|
+
deleteMaintainerMetadata
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
|
|
545
|
+
// src/clients/management/organizations/organizations.ts
|
|
546
|
+
var createOrganizations = (client) => {
|
|
547
|
+
const getOrganizations = async (signal) => {
|
|
548
|
+
const { data } = await client.get("/manage/organizations", {}, { signal });
|
|
549
|
+
return data;
|
|
550
|
+
};
|
|
551
|
+
const getOrganization = async (organizationId, signal) => {
|
|
552
|
+
const { data } = await client.get(
|
|
553
|
+
"/manage/organizations/{id}",
|
|
554
|
+
{ path: { id: organizationId } },
|
|
555
|
+
{ signal }
|
|
556
|
+
);
|
|
557
|
+
return data;
|
|
558
|
+
};
|
|
559
|
+
const updateOrganization = async ({
|
|
560
|
+
organizationId,
|
|
561
|
+
...body
|
|
562
|
+
}) => {
|
|
563
|
+
const { data } = await client.patch("/manage/organizations/{id}", {
|
|
564
|
+
path: { id: organizationId },
|
|
565
|
+
body
|
|
566
|
+
});
|
|
567
|
+
return data;
|
|
568
|
+
};
|
|
569
|
+
const deleteOrganization = async (organizationId) => {
|
|
570
|
+
await client.delete("/manage/organizations/{id}", { path: { id: organizationId } });
|
|
571
|
+
};
|
|
572
|
+
const forceMfa = async (organizationId) => {
|
|
573
|
+
const { data } = await client.patch("/manage/organizations/{id}/force-mfa", {
|
|
574
|
+
path: { id: organizationId }
|
|
575
|
+
});
|
|
576
|
+
return data;
|
|
577
|
+
};
|
|
578
|
+
const joinOrganization = async (organizationId) => {
|
|
579
|
+
await client.post("/manage/organizations/{id}/join-organization", {
|
|
580
|
+
path: { id: organizationId }
|
|
581
|
+
});
|
|
582
|
+
};
|
|
583
|
+
const getOrganizationUsers = async (organizationId, signal) => {
|
|
584
|
+
const { data } = await client.get(
|
|
585
|
+
"/manage/organizations/{id}/users",
|
|
586
|
+
{ path: { id: organizationId } },
|
|
587
|
+
{ signal }
|
|
588
|
+
);
|
|
589
|
+
return data;
|
|
590
|
+
};
|
|
591
|
+
const addOrganizationUser = async ({
|
|
592
|
+
organizationId,
|
|
593
|
+
...body
|
|
594
|
+
}) => {
|
|
595
|
+
const { data } = await client.post("/manage/organizations/{id}/users", {
|
|
596
|
+
path: { id: organizationId },
|
|
597
|
+
body
|
|
598
|
+
});
|
|
599
|
+
return data;
|
|
600
|
+
};
|
|
601
|
+
const removeOrganizationUser = async ({
|
|
602
|
+
organizationId,
|
|
603
|
+
userId
|
|
604
|
+
}) => {
|
|
605
|
+
await client.delete("/manage/organizations/{id}/users/{userId}", {
|
|
606
|
+
path: { id: organizationId, userId }
|
|
607
|
+
});
|
|
608
|
+
};
|
|
609
|
+
const getOrganizationProjectsUsers = async (organizationId, signal) => {
|
|
610
|
+
const { data } = await client.get(
|
|
611
|
+
"/manage/organizations/{id}/projects-users",
|
|
612
|
+
{ path: { id: organizationId } },
|
|
613
|
+
{ signal }
|
|
614
|
+
);
|
|
615
|
+
return data;
|
|
616
|
+
};
|
|
617
|
+
const getOrganizationInvitations = async (organizationId, signal) => {
|
|
618
|
+
const { data } = await client.get(
|
|
619
|
+
"/manage/organizations/{id}/invitations",
|
|
620
|
+
{ path: { id: organizationId } },
|
|
621
|
+
{ signal }
|
|
622
|
+
);
|
|
623
|
+
return data;
|
|
624
|
+
};
|
|
625
|
+
const getOrganizationInvitation = async ({ organizationId, invitationId }, signal) => {
|
|
626
|
+
const { data } = await client.get(
|
|
627
|
+
"/manage/organizations/{id}/invitations/{invitationId}",
|
|
628
|
+
{ path: { id: organizationId, invitationId } },
|
|
629
|
+
{ signal }
|
|
630
|
+
);
|
|
631
|
+
return data;
|
|
632
|
+
};
|
|
633
|
+
const createOrganizationInvitation = async ({
|
|
634
|
+
organizationId,
|
|
635
|
+
...body
|
|
636
|
+
}) => {
|
|
637
|
+
const { data } = await client.post("/manage/organizations/{id}/invitations", {
|
|
638
|
+
path: { id: organizationId },
|
|
639
|
+
body
|
|
640
|
+
});
|
|
641
|
+
return data;
|
|
642
|
+
};
|
|
643
|
+
const deleteOrganizationInvitation = async ({
|
|
644
|
+
organizationId,
|
|
645
|
+
invitationId
|
|
646
|
+
}) => {
|
|
647
|
+
await client.delete("/manage/organizations/{id}/invitations/{invitationId}", {
|
|
648
|
+
path: { id: organizationId, invitationId }
|
|
649
|
+
});
|
|
650
|
+
};
|
|
651
|
+
const getOrganizationProjects = async (organizationId, signal) => {
|
|
652
|
+
const { data } = await client.get(
|
|
653
|
+
"/manage/organizations/{id}/projects",
|
|
654
|
+
{ path: { id: organizationId } },
|
|
655
|
+
{ signal }
|
|
656
|
+
);
|
|
657
|
+
return data;
|
|
658
|
+
};
|
|
659
|
+
const createOrganizationProject = async ({
|
|
660
|
+
organizationId,
|
|
661
|
+
...body
|
|
662
|
+
}) => {
|
|
663
|
+
const { data } = await client.post("/manage/organizations/{id}/projects", {
|
|
664
|
+
path: { id: organizationId },
|
|
665
|
+
body
|
|
666
|
+
});
|
|
667
|
+
return data;
|
|
668
|
+
};
|
|
669
|
+
const getOrganizationMetadata = async (organizationId, signal) => {
|
|
670
|
+
const { data } = await client.get(
|
|
671
|
+
"/manage/organizations/{id}/metadata",
|
|
672
|
+
{ path: { id: organizationId } },
|
|
673
|
+
{ signal }
|
|
674
|
+
);
|
|
675
|
+
return data;
|
|
676
|
+
};
|
|
677
|
+
const setOrganizationMetadata = async ({
|
|
678
|
+
organizationId,
|
|
679
|
+
...body
|
|
680
|
+
}) => {
|
|
681
|
+
const { data } = await client.post("/manage/organizations/{id}/metadata", {
|
|
682
|
+
path: { id: organizationId },
|
|
683
|
+
body
|
|
684
|
+
});
|
|
685
|
+
return data;
|
|
686
|
+
};
|
|
687
|
+
const deleteOrganizationMetadata = async ({
|
|
688
|
+
organizationId,
|
|
689
|
+
metadataId
|
|
690
|
+
}) => {
|
|
691
|
+
await client.delete("/manage/organizations/{id}/metadata/{metadataId}", {
|
|
692
|
+
path: { id: organizationId, metadataId }
|
|
693
|
+
});
|
|
694
|
+
};
|
|
695
|
+
return {
|
|
696
|
+
getOrganizations,
|
|
697
|
+
getOrganization,
|
|
698
|
+
updateOrganization,
|
|
699
|
+
deleteOrganization,
|
|
700
|
+
forceMfa,
|
|
701
|
+
joinOrganization,
|
|
702
|
+
getOrganizationUsers,
|
|
703
|
+
addOrganizationUser,
|
|
704
|
+
removeOrganizationUser,
|
|
705
|
+
getOrganizationProjectsUsers,
|
|
706
|
+
getOrganizationInvitations,
|
|
707
|
+
getOrganizationInvitation,
|
|
708
|
+
createOrganizationInvitation,
|
|
709
|
+
deleteOrganizationInvitation,
|
|
710
|
+
getOrganizationProjects,
|
|
711
|
+
createOrganizationProject,
|
|
712
|
+
getOrganizationMetadata,
|
|
713
|
+
setOrganizationMetadata,
|
|
714
|
+
deleteOrganizationMetadata
|
|
715
|
+
};
|
|
716
|
+
};
|
|
717
|
+
|
|
718
|
+
// src/clients/management/projects/projects.ts
|
|
719
|
+
var createProjects = (client) => {
|
|
720
|
+
const getProject = async (projectId, signal) => {
|
|
721
|
+
const { data } = await client.get(
|
|
722
|
+
"/projects/{projectId}",
|
|
723
|
+
{ path: { projectId } },
|
|
724
|
+
{ signal }
|
|
725
|
+
);
|
|
726
|
+
return data;
|
|
727
|
+
};
|
|
728
|
+
const addProjectFeature = async ({
|
|
729
|
+
projectId,
|
|
730
|
+
feature
|
|
731
|
+
}) => {
|
|
732
|
+
const { data } = await client.post("/projects/{projectId}/features", { path: { projectId }, body: { feature } });
|
|
733
|
+
return data;
|
|
734
|
+
};
|
|
735
|
+
const removeProjectFeature = async (path) => {
|
|
736
|
+
const { data } = await client.delete(
|
|
737
|
+
"/projects/{projectId}/features/{feature}",
|
|
738
|
+
{ path }
|
|
739
|
+
);
|
|
740
|
+
return data;
|
|
741
|
+
};
|
|
742
|
+
const changeProjectUserRole = async ({
|
|
743
|
+
projectId,
|
|
744
|
+
userId,
|
|
745
|
+
role
|
|
746
|
+
}) => {
|
|
747
|
+
const { data } = await client.patch("/projects/{projectId}/users/{userId}", {
|
|
748
|
+
path: { projectId, userId },
|
|
749
|
+
body: { role }
|
|
750
|
+
});
|
|
751
|
+
return data;
|
|
752
|
+
};
|
|
753
|
+
const getProjectUsers = async (projectId, signal) => {
|
|
754
|
+
const { data } = await client.get(
|
|
755
|
+
"/projects/{projectId}/users",
|
|
756
|
+
{ path: { projectId } },
|
|
757
|
+
{ signal }
|
|
758
|
+
);
|
|
759
|
+
return data;
|
|
760
|
+
};
|
|
761
|
+
const getProjectMetadata = async (projectId, signal) => {
|
|
762
|
+
const { data } = await client.get(
|
|
763
|
+
"/projects/{projectId}/metadata",
|
|
764
|
+
{ path: { projectId } },
|
|
765
|
+
{ signal }
|
|
766
|
+
);
|
|
767
|
+
return data;
|
|
768
|
+
};
|
|
769
|
+
const setProjectMetadata = async ({
|
|
770
|
+
projectId,
|
|
771
|
+
provider,
|
|
772
|
+
metadata
|
|
773
|
+
}) => {
|
|
774
|
+
const { data } = await client.post("/projects/{projectId}/metadata", {
|
|
775
|
+
path: { projectId },
|
|
776
|
+
body: { provider, metadata }
|
|
777
|
+
});
|
|
778
|
+
return data;
|
|
779
|
+
};
|
|
780
|
+
const getProjectReviewers = async (projectId, signal) => {
|
|
781
|
+
const { data } = await client.get(
|
|
782
|
+
"/projects/{projectId}/reviewers",
|
|
783
|
+
{ path: { projectId } },
|
|
784
|
+
{ signal }
|
|
785
|
+
);
|
|
786
|
+
return data;
|
|
787
|
+
};
|
|
788
|
+
const setProjectReviewers = async ({
|
|
789
|
+
projectId,
|
|
790
|
+
adminIds
|
|
791
|
+
}) => {
|
|
792
|
+
const { data } = await client.put("/projects/{projectId}/reviewers", {
|
|
793
|
+
path: { projectId },
|
|
794
|
+
body: { adminIds }
|
|
795
|
+
});
|
|
796
|
+
return data;
|
|
797
|
+
};
|
|
798
|
+
return {
|
|
799
|
+
getProject,
|
|
800
|
+
addProjectFeature,
|
|
801
|
+
removeProjectFeature,
|
|
802
|
+
changeProjectUserRole,
|
|
803
|
+
getProjectUsers,
|
|
804
|
+
getProjectMetadata,
|
|
805
|
+
setProjectMetadata,
|
|
806
|
+
getProjectReviewers,
|
|
807
|
+
setProjectReviewers
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
|
|
811
|
+
// src/clients/management/users/users.ts
|
|
812
|
+
var createUsers = (client) => {
|
|
813
|
+
const addUserAdminFeature = async ({ feature, userIdOrMail }, signal) => {
|
|
814
|
+
const { data } = await client.post(
|
|
815
|
+
"/users/{userIdOrMail}/features",
|
|
816
|
+
{ path: { userIdOrMail: encodeURIComponent(userIdOrMail) }, body: { feature } },
|
|
817
|
+
{ signal }
|
|
818
|
+
);
|
|
819
|
+
return data;
|
|
820
|
+
};
|
|
821
|
+
const removeUserAdminFeature = async ({ userIdOrMail, feature }, signal) => {
|
|
822
|
+
const { data } = await client.delete(
|
|
823
|
+
"/users/{userIdOrMail}/features/{feature}",
|
|
824
|
+
{ path: { userIdOrMail: encodeURIComponent(userIdOrMail), feature } },
|
|
825
|
+
{ signal }
|
|
826
|
+
);
|
|
827
|
+
return data;
|
|
828
|
+
};
|
|
829
|
+
return {
|
|
830
|
+
addUserAdminFeature,
|
|
831
|
+
removeUserAdminFeature
|
|
832
|
+
};
|
|
833
|
+
};
|
|
834
|
+
|
|
835
|
+
// src/clients/management/managementClient.ts
|
|
836
|
+
var createManagementClient = ({
|
|
837
|
+
baseUrl,
|
|
838
|
+
callbacks,
|
|
839
|
+
token
|
|
840
|
+
}) => {
|
|
841
|
+
const callbackMiddleware = createCallbackMiddleware(callbacks);
|
|
842
|
+
const authMiddleware = createAuthMiddleware({
|
|
843
|
+
baseUrl,
|
|
844
|
+
accessToken: token
|
|
845
|
+
});
|
|
846
|
+
const middlewares = [
|
|
847
|
+
callbackMiddleware,
|
|
848
|
+
authMiddleware
|
|
849
|
+
// 👈 beware order of middlewares always matter
|
|
850
|
+
];
|
|
851
|
+
const client = createGenericFetchClient({
|
|
852
|
+
baseUrl: `${baseUrl}/manage`,
|
|
853
|
+
middlewares
|
|
854
|
+
});
|
|
855
|
+
const openApiClient = createOpenapiFetchClient({
|
|
856
|
+
baseUrl,
|
|
857
|
+
middlewares
|
|
858
|
+
});
|
|
859
|
+
return {
|
|
860
|
+
currentUser: createCurrentUser(openApiClient),
|
|
861
|
+
features: createFeatures(client),
|
|
862
|
+
maintainers: createMaintainers(openApiClient),
|
|
863
|
+
organizations: createOrganizations(openApiClient),
|
|
864
|
+
projects: createProjects(client),
|
|
865
|
+
users: createUsers(client)
|
|
866
|
+
};
|
|
867
|
+
};
|
|
868
|
+
|
|
869
|
+
exports.createManagementClient = createManagementClient;
|
|
870
|
+
exports.isManagementClientAuthError = isManagementClientAuthError;
|
|
871
|
+
//# sourceMappingURL=index.cjs.map
|
|
872
|
+
//# sourceMappingURL=index.cjs.map
|