@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,1021 @@
|
|
|
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
|
+
var HttpHeader = {
|
|
22
|
+
CONTENT_TYPE: "content-type"};
|
|
23
|
+
var HttpContentType = {
|
|
24
|
+
JSON: "application/json"};
|
|
25
|
+
var defaultValidateStatus = ({ response }) => response.status >= 200 && response.status <= 299;
|
|
26
|
+
function removeUndefined(obj) {
|
|
27
|
+
const objCopy = { ...obj };
|
|
28
|
+
for (const [key, value] of Object.entries(objCopy)) {
|
|
29
|
+
if (value == null) delete objCopy[key];
|
|
30
|
+
}
|
|
31
|
+
return objCopy;
|
|
32
|
+
}
|
|
33
|
+
var parseData = async (response) => {
|
|
34
|
+
if (response.status === 204) return null;
|
|
35
|
+
const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);
|
|
36
|
+
if (contentType && contentType == HttpContentType.JSON) {
|
|
37
|
+
return response.json();
|
|
38
|
+
}
|
|
39
|
+
const text = await response.text();
|
|
40
|
+
try {
|
|
41
|
+
return JSON.parse(text);
|
|
42
|
+
} catch {
|
|
43
|
+
return text;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var cleanHeadersInit = (headersInit) => {
|
|
47
|
+
if (Array.isArray(headersInit)) return headersInit;
|
|
48
|
+
if (headersInit instanceof Headers) return headersInit;
|
|
49
|
+
if (headersInit == null) return headersInit;
|
|
50
|
+
return removeUndefined(headersInit);
|
|
51
|
+
};
|
|
52
|
+
var createHeaders = (headersInitA, headersInitB) => {
|
|
53
|
+
const headersA = new Headers(cleanHeadersInit(headersInitA));
|
|
54
|
+
const headersB = new Headers(cleanHeadersInit(headersInitB));
|
|
55
|
+
headersB.forEach((value, key) => {
|
|
56
|
+
headersA.set(key, value);
|
|
57
|
+
});
|
|
58
|
+
return headersA;
|
|
59
|
+
};
|
|
60
|
+
var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
|
|
61
|
+
if (!(key in pathParam))
|
|
62
|
+
throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
|
|
63
|
+
return encodeURIComponent(pathParam[key]);
|
|
64
|
+
});
|
|
65
|
+
var createSearch = (query, options = {}) => {
|
|
66
|
+
return qs__default.default.stringify(query, {
|
|
67
|
+
encodeValuesOnly: true,
|
|
68
|
+
skipNulls: true,
|
|
69
|
+
...options
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
var createBody = (body, headers) => {
|
|
73
|
+
if (body == null) return null;
|
|
74
|
+
if (body instanceof FormData) return body;
|
|
75
|
+
if (typeof body === "string") return body;
|
|
76
|
+
const stringifyBody = JSON.stringify(body);
|
|
77
|
+
const stringBody = stringifyBody === "{}" ? null : stringifyBody;
|
|
78
|
+
if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
|
|
79
|
+
return stringBody;
|
|
80
|
+
};
|
|
81
|
+
var createFetchRequest = ({
|
|
82
|
+
url,
|
|
83
|
+
method,
|
|
84
|
+
params,
|
|
85
|
+
options = {},
|
|
86
|
+
defaultOptions
|
|
87
|
+
}) => {
|
|
88
|
+
const {
|
|
89
|
+
baseUrl,
|
|
90
|
+
validateStatus: defValidateStatus = defaultValidateStatus,
|
|
91
|
+
headers: defaultHeaders,
|
|
92
|
+
...restDefaultOptions
|
|
93
|
+
} = defaultOptions;
|
|
94
|
+
const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
|
|
95
|
+
const headers = createHeaders(defaultHeaders, endpointHeaders);
|
|
96
|
+
const path = createPath(url, params.path);
|
|
97
|
+
const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
|
|
98
|
+
const body = createBody(params.body, headers);
|
|
99
|
+
const urlInstance = new URL(baseUrl + path);
|
|
100
|
+
urlInstance.search = search;
|
|
101
|
+
const request = new Request(urlInstance, {
|
|
102
|
+
...restDefaultOptions,
|
|
103
|
+
...restOptions,
|
|
104
|
+
headers,
|
|
105
|
+
method: method.toUpperCase(),
|
|
106
|
+
body
|
|
107
|
+
});
|
|
108
|
+
return { request, validateStatus: validateStatus ?? defValidateStatus };
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// src/fetchClient/createFetchClient/createFetchClient.ts
|
|
112
|
+
var isApiError = (error) => error instanceof ApiError;
|
|
113
|
+
var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
|
|
114
|
+
const response = await fetchFn(request);
|
|
115
|
+
const data = await parseData(response);
|
|
116
|
+
const apiResponse = {
|
|
117
|
+
request,
|
|
118
|
+
response,
|
|
119
|
+
data
|
|
120
|
+
};
|
|
121
|
+
const boolOrError = validateStatus(apiResponse);
|
|
122
|
+
if (isApiError(boolOrError)) throw boolOrError;
|
|
123
|
+
if (!boolOrError) throw new ApiError(apiResponse);
|
|
124
|
+
return apiResponse;
|
|
125
|
+
};
|
|
126
|
+
var createFetchClient = ({
|
|
127
|
+
middlewares = [],
|
|
128
|
+
...defaultOptions
|
|
129
|
+
}) => {
|
|
130
|
+
const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
|
|
131
|
+
const fetchWithMiddlewares = middlewares.reduceRight(
|
|
132
|
+
(next, middleware) => middleware(next),
|
|
133
|
+
coreFetch
|
|
134
|
+
);
|
|
135
|
+
const createFetchMethod = (method) => async (url, params, options = {}) => {
|
|
136
|
+
const request = createFetchRequest({
|
|
137
|
+
url,
|
|
138
|
+
method,
|
|
139
|
+
params,
|
|
140
|
+
defaultOptions,
|
|
141
|
+
options
|
|
142
|
+
});
|
|
143
|
+
const methodMiddlewares = options?.middlewares ?? [];
|
|
144
|
+
return methodMiddlewares.reduceRight(
|
|
145
|
+
(next, middleware) => middleware(next),
|
|
146
|
+
fetchWithMiddlewares
|
|
147
|
+
)(request);
|
|
148
|
+
};
|
|
149
|
+
return {
|
|
150
|
+
get: createFetchMethod("get"),
|
|
151
|
+
post: createFetchMethod("post"),
|
|
152
|
+
put: createFetchMethod("put"),
|
|
153
|
+
patch: createFetchMethod("patch"),
|
|
154
|
+
delete: createFetchMethod("delete")
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
// src/fetchClient/createGenericFetchClient.ts
|
|
159
|
+
var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
160
|
+
|
|
161
|
+
// src/fetchClient/createOpenapiFetchClient.ts
|
|
162
|
+
var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
163
|
+
|
|
164
|
+
// src/clients/storage/configurationVersions/configurationVersions.ts
|
|
165
|
+
var createConfigurationVersions = (client) => {
|
|
166
|
+
const listConfigurationVersions = async ({ branchId, componentId, configId }, signal) => {
|
|
167
|
+
const { data } = await client.get(
|
|
168
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}/versions",
|
|
169
|
+
{ path: { branchId, componentId, configId } },
|
|
170
|
+
{ signal }
|
|
171
|
+
);
|
|
172
|
+
return data;
|
|
173
|
+
};
|
|
174
|
+
const getConfigurationVersion = async ({ branchId, componentId, configId, versionId }, signal) => {
|
|
175
|
+
const { data } = await client.get(
|
|
176
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}",
|
|
177
|
+
{ path: { branchId, componentId, configId, versionId } },
|
|
178
|
+
{ signal }
|
|
179
|
+
);
|
|
180
|
+
return data;
|
|
181
|
+
};
|
|
182
|
+
return {
|
|
183
|
+
listConfigurationVersions,
|
|
184
|
+
getConfigurationVersion
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
// src/clients/storage/mergeRequests/mergeRequests.ts
|
|
189
|
+
var createMergeRequests = (client) => {
|
|
190
|
+
const getMergeRequests = async (signal) => {
|
|
191
|
+
const { data } = await client.get("/v2/storage/merge-request", {}, { signal });
|
|
192
|
+
return data;
|
|
193
|
+
};
|
|
194
|
+
const getMergeRequest = async (id, signal) => {
|
|
195
|
+
const { data } = await client.get(
|
|
196
|
+
"/v2/storage/merge-request/{id}",
|
|
197
|
+
{ path: { id } },
|
|
198
|
+
{ signal }
|
|
199
|
+
);
|
|
200
|
+
return data;
|
|
201
|
+
};
|
|
202
|
+
const getMergeRequestWithActivityLog = async (id, signal) => {
|
|
203
|
+
const { data } = await client.get(
|
|
204
|
+
"/v2/storage/merge-request/{id}",
|
|
205
|
+
// @ts-expect-error backend accepts `?include=activityLog`; OpenAPI schema regen pending (connection#7250).
|
|
206
|
+
{ path: { id }, query: { include: "activityLog" } },
|
|
207
|
+
{ signal }
|
|
208
|
+
);
|
|
209
|
+
return data;
|
|
210
|
+
};
|
|
211
|
+
const createMergeRequest = async (params) => {
|
|
212
|
+
const { data } = await client.post("/v2/storage/merge-request", { body: params });
|
|
213
|
+
return data;
|
|
214
|
+
};
|
|
215
|
+
const updateMergeRequest = async (id, params) => {
|
|
216
|
+
const { data } = await client.put("/v2/storage/merge-request/{id}", {
|
|
217
|
+
path: { id },
|
|
218
|
+
body: params
|
|
219
|
+
});
|
|
220
|
+
return data;
|
|
221
|
+
};
|
|
222
|
+
const requestReview = async (id) => {
|
|
223
|
+
const { data } = await client.put("/v2/storage/merge-request/{id}/request-review", {
|
|
224
|
+
path: { id }
|
|
225
|
+
});
|
|
226
|
+
return data;
|
|
227
|
+
};
|
|
228
|
+
const approveMergeRequest = async (id) => {
|
|
229
|
+
const { data } = await client.put("/v2/storage/merge-request/{id}/approve", {
|
|
230
|
+
path: { id }
|
|
231
|
+
});
|
|
232
|
+
return data;
|
|
233
|
+
};
|
|
234
|
+
const requestChangesMergeRequest = async (id, reason) => {
|
|
235
|
+
const { data } = await client.put("/v2/storage/merge-request/{id}/request-changes", {
|
|
236
|
+
path: { id },
|
|
237
|
+
// @ts-expect-error backend accepts optional `{ reason }` body; OpenAPI schema regen pending (connection#7250).
|
|
238
|
+
body: reason ? { reason } : void 0
|
|
239
|
+
});
|
|
240
|
+
return data;
|
|
241
|
+
};
|
|
242
|
+
return {
|
|
243
|
+
getMergeRequests,
|
|
244
|
+
getMergeRequest,
|
|
245
|
+
getMergeRequestWithActivityLog,
|
|
246
|
+
createMergeRequest,
|
|
247
|
+
updateMergeRequest,
|
|
248
|
+
requestReview,
|
|
249
|
+
approveMergeRequest,
|
|
250
|
+
requestChangesMergeRequest
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
// src/clients/storage/branches/mappers.ts
|
|
255
|
+
var mapBranchMetadata = (data) => ({
|
|
256
|
+
...data,
|
|
257
|
+
timestamp: new Date(data.timestamp)
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// src/clients/storage/branches/branches.ts
|
|
261
|
+
var createBranches = (client) => {
|
|
262
|
+
const getDevBranches = async (signal) => {
|
|
263
|
+
const { data } = await client.get("/dev-branches", {}, { signal });
|
|
264
|
+
return data;
|
|
265
|
+
};
|
|
266
|
+
const createDevBranchJob = async (body) => {
|
|
267
|
+
const { data } = await client.post(
|
|
268
|
+
"/dev-branches",
|
|
269
|
+
{
|
|
270
|
+
body
|
|
271
|
+
}
|
|
272
|
+
);
|
|
273
|
+
return data;
|
|
274
|
+
};
|
|
275
|
+
const updateDevBranch = async ({
|
|
276
|
+
id,
|
|
277
|
+
name,
|
|
278
|
+
description
|
|
279
|
+
}) => {
|
|
280
|
+
const { data } = await client.put(
|
|
281
|
+
"/dev-branches/{id}",
|
|
282
|
+
{
|
|
283
|
+
path: { id },
|
|
284
|
+
body: {
|
|
285
|
+
name,
|
|
286
|
+
description
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
);
|
|
290
|
+
return data;
|
|
291
|
+
};
|
|
292
|
+
const deleteDevBranchJob = async (id) => {
|
|
293
|
+
const { data } = await client.delete(
|
|
294
|
+
"/dev-branches/{id}",
|
|
295
|
+
{
|
|
296
|
+
path: { id }
|
|
297
|
+
}
|
|
298
|
+
);
|
|
299
|
+
return data;
|
|
300
|
+
};
|
|
301
|
+
const getDevBranchMetadata = async (id, signal) => {
|
|
302
|
+
const { data } = await client.get(
|
|
303
|
+
"/branch/{id}/metadata",
|
|
304
|
+
{ path: { id } },
|
|
305
|
+
{ signal }
|
|
306
|
+
);
|
|
307
|
+
return data.map(mapBranchMetadata);
|
|
308
|
+
};
|
|
309
|
+
const saveDevBranchMetadata = async (id, metadata, signal) => {
|
|
310
|
+
const { data } = await client.post("/branch/{id}/metadata", { path: { id }, body: { metadata } }, { signal });
|
|
311
|
+
return data.map(mapBranchMetadata);
|
|
312
|
+
};
|
|
313
|
+
const deleteDevBranchMetadata = async (id, metadataId, signal) => {
|
|
314
|
+
await client.delete(
|
|
315
|
+
"/branch/{id}/metadata/{metadataId}",
|
|
316
|
+
{ path: { id, metadataId } },
|
|
317
|
+
{ signal }
|
|
318
|
+
);
|
|
319
|
+
};
|
|
320
|
+
return {
|
|
321
|
+
getDevBranches,
|
|
322
|
+
createDevBranchJob,
|
|
323
|
+
updateDevBranch,
|
|
324
|
+
deleteDevBranchJob,
|
|
325
|
+
getDevBranchMetadata,
|
|
326
|
+
saveDevBranchMetadata,
|
|
327
|
+
deleteDevBranchMetadata
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
// src/clients/storage/buckets/buckets.ts
|
|
332
|
+
var createBuckets = (client) => {
|
|
333
|
+
const getBuckets = async (query = {}, signal) => {
|
|
334
|
+
const { data } = await client.get(
|
|
335
|
+
`/buckets`,
|
|
336
|
+
{ query },
|
|
337
|
+
{ signal, queryArrayFormat: "comma" }
|
|
338
|
+
);
|
|
339
|
+
return data;
|
|
340
|
+
};
|
|
341
|
+
const getBucket = async (id, signal) => {
|
|
342
|
+
const { data } = await client.get(
|
|
343
|
+
`/buckets/{id}`,
|
|
344
|
+
{ path: { id } },
|
|
345
|
+
{ signal }
|
|
346
|
+
);
|
|
347
|
+
return data;
|
|
348
|
+
};
|
|
349
|
+
const createBucket = async (body) => {
|
|
350
|
+
const { data } = await client.post(`/buckets`, {
|
|
351
|
+
body
|
|
352
|
+
});
|
|
353
|
+
return data;
|
|
354
|
+
};
|
|
355
|
+
const updateBucket = async (id, body) => {
|
|
356
|
+
const { data } = await client.patch(
|
|
357
|
+
`/buckets/{id}`,
|
|
358
|
+
{ path: { id }, body }
|
|
359
|
+
);
|
|
360
|
+
return data;
|
|
361
|
+
};
|
|
362
|
+
const deleteBucket = async (id) => {
|
|
363
|
+
await client.delete(`/buckets/{id}`, { path: { id } });
|
|
364
|
+
};
|
|
365
|
+
const deleteBucketAsync = async (id, options = {}) => {
|
|
366
|
+
const { data } = await client.delete(`/buckets/{id}`, { path: { id }, query: { async: true, ...options } });
|
|
367
|
+
return data;
|
|
368
|
+
};
|
|
369
|
+
const createScheduledRefresh = async (input) => {
|
|
370
|
+
const { branchId, bucketId, cronExpression } = input;
|
|
371
|
+
const { data } = await client.post(`/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {
|
|
372
|
+
path: { branchId, bucketId },
|
|
373
|
+
body: { cronExpression }
|
|
374
|
+
});
|
|
375
|
+
return data;
|
|
376
|
+
};
|
|
377
|
+
const deleteScheduledTask = async (taskId) => {
|
|
378
|
+
await client.delete(`/scheduled-tasks/{taskId}`, {
|
|
379
|
+
path: { taskId }
|
|
380
|
+
});
|
|
381
|
+
};
|
|
382
|
+
return {
|
|
383
|
+
getBuckets,
|
|
384
|
+
getBucket,
|
|
385
|
+
createBucket,
|
|
386
|
+
updateBucket,
|
|
387
|
+
deleteBucket,
|
|
388
|
+
deleteBucketAsync,
|
|
389
|
+
createScheduledRefresh,
|
|
390
|
+
deleteScheduledTask
|
|
391
|
+
};
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
// src/utils/concurrent.ts
|
|
395
|
+
var concurrent = async ({
|
|
396
|
+
items,
|
|
397
|
+
process,
|
|
398
|
+
concurrency = 2,
|
|
399
|
+
middlewares = []
|
|
400
|
+
}) => {
|
|
401
|
+
if (concurrency < 1) throw new Error("Concurrency must be greater than 0");
|
|
402
|
+
if (items.length === 0) return [];
|
|
403
|
+
if (concurrency === Infinity)
|
|
404
|
+
return Promise.all(items.map((item, index) => process(item, index, items.length)));
|
|
405
|
+
const n = items.length;
|
|
406
|
+
const results = new Array(n);
|
|
407
|
+
const processWithMiddlewares = middlewares.reduceRight(
|
|
408
|
+
(next, middleware) => middleware(next),
|
|
409
|
+
process
|
|
410
|
+
);
|
|
411
|
+
const queue = items.map((item, index) => async () => {
|
|
412
|
+
results[index] = await processWithMiddlewares(item, index, items.length);
|
|
413
|
+
});
|
|
414
|
+
const workers = Array.from(
|
|
415
|
+
{ length: Math.min(concurrency, items.length) },
|
|
416
|
+
async function processQueue() {
|
|
417
|
+
while (queue.length) {
|
|
418
|
+
await queue.shift()?.();
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
);
|
|
422
|
+
await Promise.all(workers);
|
|
423
|
+
return results;
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
// src/utils/series.ts
|
|
427
|
+
var series = async (options) => concurrent({
|
|
428
|
+
...options,
|
|
429
|
+
concurrency: 1
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
// src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts
|
|
433
|
+
var createComponentsAndConfigurations = (client) => {
|
|
434
|
+
const getComponent = async ({ componentId, branchId = "default" }, signal) => {
|
|
435
|
+
const { data } = await client.get(
|
|
436
|
+
"/branch/{branchId}/components/{componentId}",
|
|
437
|
+
{ path: { componentId, branchId } },
|
|
438
|
+
{ signal }
|
|
439
|
+
);
|
|
440
|
+
return data;
|
|
441
|
+
};
|
|
442
|
+
const getComponents = async ({ branchId = "default", ...query } = {}, signal) => {
|
|
443
|
+
const { data } = await client.get(
|
|
444
|
+
"/branch/{branchId}/components",
|
|
445
|
+
{ path: { branchId }, query },
|
|
446
|
+
{ signal, queryArrayFormat: "comma" }
|
|
447
|
+
);
|
|
448
|
+
return data;
|
|
449
|
+
};
|
|
450
|
+
const getConfiguration = async ({ componentId, configId, branchId = "default" }, signal) => {
|
|
451
|
+
const { data } = await client.get(
|
|
452
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}",
|
|
453
|
+
{ path: { componentId, configId, branchId } },
|
|
454
|
+
{ signal }
|
|
455
|
+
);
|
|
456
|
+
return data;
|
|
457
|
+
};
|
|
458
|
+
const createConfiguration = async ({
|
|
459
|
+
branchId = "default",
|
|
460
|
+
componentId,
|
|
461
|
+
...body
|
|
462
|
+
}) => {
|
|
463
|
+
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs", {
|
|
464
|
+
path: { branchId, componentId },
|
|
465
|
+
body
|
|
466
|
+
});
|
|
467
|
+
return data;
|
|
468
|
+
};
|
|
469
|
+
const deleteConfiguration = async (path) => {
|
|
470
|
+
await client.delete(
|
|
471
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}",
|
|
472
|
+
{ path }
|
|
473
|
+
);
|
|
474
|
+
};
|
|
475
|
+
const deleteConfigurations = async ({
|
|
476
|
+
configIds,
|
|
477
|
+
...rest
|
|
478
|
+
}) => {
|
|
479
|
+
await concurrent({
|
|
480
|
+
items: configIds,
|
|
481
|
+
process: async (configId) => deleteConfiguration({ ...rest, configId })
|
|
482
|
+
});
|
|
483
|
+
};
|
|
484
|
+
const getConfigurations = async ({ componentId, branchId = "default" }, signal) => {
|
|
485
|
+
const { data } = await client.get(
|
|
486
|
+
"/branch/{branchId}/components/{componentId}/configs",
|
|
487
|
+
{ path: { componentId, branchId } },
|
|
488
|
+
{ signal }
|
|
489
|
+
);
|
|
490
|
+
return data;
|
|
491
|
+
};
|
|
492
|
+
const getConfigurationWorkspaces = async ({
|
|
493
|
+
componentId,
|
|
494
|
+
branchId,
|
|
495
|
+
configId
|
|
496
|
+
}) => {
|
|
497
|
+
const { data } = await client.get(
|
|
498
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces",
|
|
499
|
+
{
|
|
500
|
+
path: { componentId, branchId, configId }
|
|
501
|
+
}
|
|
502
|
+
);
|
|
503
|
+
return data;
|
|
504
|
+
};
|
|
505
|
+
const createConfigurationWorkspace = async ({
|
|
506
|
+
componentId,
|
|
507
|
+
branchId,
|
|
508
|
+
configId,
|
|
509
|
+
...body
|
|
510
|
+
}) => {
|
|
511
|
+
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
|
|
512
|
+
path: { componentId, branchId, configId },
|
|
513
|
+
body
|
|
514
|
+
});
|
|
515
|
+
return data;
|
|
516
|
+
};
|
|
517
|
+
const createConfigurationWorkspaceJob = async ({
|
|
518
|
+
componentId,
|
|
519
|
+
branchId,
|
|
520
|
+
configId,
|
|
521
|
+
...body
|
|
522
|
+
}) => {
|
|
523
|
+
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
|
|
524
|
+
path: { componentId, branchId, configId },
|
|
525
|
+
body,
|
|
526
|
+
query: { async: true }
|
|
527
|
+
});
|
|
528
|
+
return data;
|
|
529
|
+
};
|
|
530
|
+
const createConfigurationRow = async ({
|
|
531
|
+
branchId = "default",
|
|
532
|
+
componentId,
|
|
533
|
+
configId,
|
|
534
|
+
...body
|
|
535
|
+
}) => {
|
|
536
|
+
const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/rows", {
|
|
537
|
+
path: { branchId, componentId, configId },
|
|
538
|
+
body
|
|
539
|
+
});
|
|
540
|
+
return data;
|
|
541
|
+
};
|
|
542
|
+
const createConfigurationRows = async ({
|
|
543
|
+
branchId = "default",
|
|
544
|
+
componentId,
|
|
545
|
+
configId,
|
|
546
|
+
data
|
|
547
|
+
}, options) => {
|
|
548
|
+
return series({
|
|
549
|
+
items: data,
|
|
550
|
+
process: (rowBody) => {
|
|
551
|
+
return createConfigurationRow({
|
|
552
|
+
branchId,
|
|
553
|
+
componentId,
|
|
554
|
+
configId,
|
|
555
|
+
...rowBody
|
|
556
|
+
});
|
|
557
|
+
},
|
|
558
|
+
middlewares: options?.middlewares
|
|
559
|
+
});
|
|
560
|
+
};
|
|
561
|
+
const deleteConfigurationRow = async ({
|
|
562
|
+
changeDescription,
|
|
563
|
+
...path
|
|
564
|
+
}) => {
|
|
565
|
+
await client.delete(
|
|
566
|
+
"/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}",
|
|
567
|
+
{
|
|
568
|
+
path,
|
|
569
|
+
body: { changeDescription }
|
|
570
|
+
}
|
|
571
|
+
);
|
|
572
|
+
};
|
|
573
|
+
const deleteConfigurationRows = async ({ rowIds, changeDescription, ...input }, options) => {
|
|
574
|
+
await concurrent({
|
|
575
|
+
items: rowIds,
|
|
576
|
+
process: (rowId) => {
|
|
577
|
+
const resolvedDescription = typeof changeDescription === "string" ? changeDescription : changeDescription?.(rowId);
|
|
578
|
+
return deleteConfigurationRow({
|
|
579
|
+
rowId,
|
|
580
|
+
changeDescription: resolvedDescription,
|
|
581
|
+
...input
|
|
582
|
+
});
|
|
583
|
+
},
|
|
584
|
+
concurrency: 5,
|
|
585
|
+
middlewares: options?.middlewares
|
|
586
|
+
});
|
|
587
|
+
};
|
|
588
|
+
const searchComponentConfigurations = async ({ branchId = "default" } = {}, query, signal) => {
|
|
589
|
+
const { data } = await client.get(
|
|
590
|
+
"/branch/{branchId}/search/component-configurations",
|
|
591
|
+
{ path: { branchId }, query },
|
|
592
|
+
{ signal, queryArrayFormat: "comma" }
|
|
593
|
+
);
|
|
594
|
+
return data;
|
|
595
|
+
};
|
|
596
|
+
return {
|
|
597
|
+
// components
|
|
598
|
+
getComponent,
|
|
599
|
+
getComponents,
|
|
600
|
+
searchComponentConfigurations,
|
|
601
|
+
// configurations
|
|
602
|
+
createConfiguration,
|
|
603
|
+
getConfiguration,
|
|
604
|
+
deleteConfiguration,
|
|
605
|
+
deleteConfigurations,
|
|
606
|
+
getConfigurations,
|
|
607
|
+
// configuration's rows
|
|
608
|
+
createConfigurationRow,
|
|
609
|
+
createConfigurationRows,
|
|
610
|
+
deleteConfigurationRow,
|
|
611
|
+
deleteConfigurationRows,
|
|
612
|
+
// configuration's workspaces
|
|
613
|
+
createConfigurationWorkspace,
|
|
614
|
+
createConfigurationWorkspaceJob,
|
|
615
|
+
getConfigurationWorkspaces
|
|
616
|
+
};
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
// src/clients/storage/events/events.ts
|
|
620
|
+
var createEvents = (client) => {
|
|
621
|
+
const getEvents = async (query, signal) => {
|
|
622
|
+
const { data } = await client.get(
|
|
623
|
+
"/events",
|
|
624
|
+
{ query },
|
|
625
|
+
{ signal }
|
|
626
|
+
);
|
|
627
|
+
return data;
|
|
628
|
+
};
|
|
629
|
+
const getEvent = async (eventId, signal) => {
|
|
630
|
+
const { data } = await client.get(
|
|
631
|
+
"/events/{eventId}",
|
|
632
|
+
{
|
|
633
|
+
path: { eventId }
|
|
634
|
+
},
|
|
635
|
+
{ signal }
|
|
636
|
+
);
|
|
637
|
+
return data;
|
|
638
|
+
};
|
|
639
|
+
const createEvent = async (body, signal) => {
|
|
640
|
+
const { data } = await client.post(
|
|
641
|
+
"/events",
|
|
642
|
+
{
|
|
643
|
+
body
|
|
644
|
+
},
|
|
645
|
+
{ signal }
|
|
646
|
+
);
|
|
647
|
+
return data;
|
|
648
|
+
};
|
|
649
|
+
return {
|
|
650
|
+
getEvents,
|
|
651
|
+
getEvent,
|
|
652
|
+
createEvent
|
|
653
|
+
};
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
// src/clients/storage/files/files.ts
|
|
657
|
+
var createFiles = (client) => {
|
|
658
|
+
const getFile = async (fileId, signal) => {
|
|
659
|
+
const { data } = await client.get(
|
|
660
|
+
`/files/{fileId}`,
|
|
661
|
+
{
|
|
662
|
+
path: { fileId }
|
|
663
|
+
},
|
|
664
|
+
{ signal }
|
|
665
|
+
);
|
|
666
|
+
return data;
|
|
667
|
+
};
|
|
668
|
+
const getFiles = async (query, signal) => {
|
|
669
|
+
const { data } = await client.get(
|
|
670
|
+
"/files",
|
|
671
|
+
{ query },
|
|
672
|
+
{ signal, queryArrayFormat: "brackets" }
|
|
673
|
+
);
|
|
674
|
+
return data;
|
|
675
|
+
};
|
|
676
|
+
const deleteFile = async (fileId) => {
|
|
677
|
+
const { data } = await client.delete(`/files/{fileId}`, {
|
|
678
|
+
path: { fileId }
|
|
679
|
+
});
|
|
680
|
+
return data;
|
|
681
|
+
};
|
|
682
|
+
const addFileTag = async (fileId, tag) => {
|
|
683
|
+
const { data } = await client.post(
|
|
684
|
+
`/files/{fileId}/tags`,
|
|
685
|
+
{
|
|
686
|
+
path: { fileId },
|
|
687
|
+
body: { tag }
|
|
688
|
+
}
|
|
689
|
+
);
|
|
690
|
+
return data;
|
|
691
|
+
};
|
|
692
|
+
const getFileContent = async (fileId, signal) => {
|
|
693
|
+
const { data } = await client.get(
|
|
694
|
+
`/files/{fileId}/content`,
|
|
695
|
+
{
|
|
696
|
+
path: { fileId }
|
|
697
|
+
},
|
|
698
|
+
{ signal }
|
|
699
|
+
);
|
|
700
|
+
return typeof data === "string" ? data : JSON.stringify(data, null, 2);
|
|
701
|
+
};
|
|
702
|
+
const deleteFileTag = async (fileId, tag) => {
|
|
703
|
+
const { data } = await client.delete(
|
|
704
|
+
"/files/{fileId}/tags/{tag}",
|
|
705
|
+
{
|
|
706
|
+
path: { fileId, tag }
|
|
707
|
+
}
|
|
708
|
+
);
|
|
709
|
+
return data;
|
|
710
|
+
};
|
|
711
|
+
const prepareFile = async (body, signal) => {
|
|
712
|
+
const { data } = await client.post(
|
|
713
|
+
"/files/prepare",
|
|
714
|
+
{ body },
|
|
715
|
+
{ signal }
|
|
716
|
+
);
|
|
717
|
+
return data;
|
|
718
|
+
};
|
|
719
|
+
return {
|
|
720
|
+
getFile,
|
|
721
|
+
getFileContent,
|
|
722
|
+
getFiles,
|
|
723
|
+
deleteFile,
|
|
724
|
+
addFileTag,
|
|
725
|
+
deleteFileTag,
|
|
726
|
+
prepareFile
|
|
727
|
+
};
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
// src/clients/storage/jobs/jobs.ts
|
|
731
|
+
var createJobs = (client) => {
|
|
732
|
+
const getJob = async (id, signal) => {
|
|
733
|
+
const { data } = await client.get(
|
|
734
|
+
`/jobs/{id}`,
|
|
735
|
+
{
|
|
736
|
+
path: { id }
|
|
737
|
+
},
|
|
738
|
+
{ signal }
|
|
739
|
+
);
|
|
740
|
+
return data;
|
|
741
|
+
};
|
|
742
|
+
const getJobs = async (query, signal) => {
|
|
743
|
+
const { data } = await client.get(
|
|
744
|
+
"/jobs",
|
|
745
|
+
{ query },
|
|
746
|
+
{ signal, queryArrayFormat: "brackets" }
|
|
747
|
+
);
|
|
748
|
+
return data;
|
|
749
|
+
};
|
|
750
|
+
return { getJob, getJobs };
|
|
751
|
+
};
|
|
752
|
+
|
|
753
|
+
// src/clients/storage/tables/tables.ts
|
|
754
|
+
var createTables = (client) => {
|
|
755
|
+
const getTables = async (query = { include: [] }, signal) => {
|
|
756
|
+
const { data } = await client.get(
|
|
757
|
+
`/tables`,
|
|
758
|
+
{ query },
|
|
759
|
+
{ signal, queryArrayFormat: "comma" }
|
|
760
|
+
);
|
|
761
|
+
return data;
|
|
762
|
+
};
|
|
763
|
+
const getTable = async (id, signal) => {
|
|
764
|
+
const { data } = await client.get(
|
|
765
|
+
`/tables/{id}`,
|
|
766
|
+
{ path: { id } },
|
|
767
|
+
{ signal }
|
|
768
|
+
);
|
|
769
|
+
return data;
|
|
770
|
+
};
|
|
771
|
+
const deleteTable = async (id, signal) => {
|
|
772
|
+
await client.delete(`/tables/{id}`, { path: { id } }, { signal });
|
|
773
|
+
};
|
|
774
|
+
const deleteTables = async (ids) => {
|
|
775
|
+
await concurrent({
|
|
776
|
+
items: ids,
|
|
777
|
+
process: (id) => deleteTable(id)
|
|
778
|
+
});
|
|
779
|
+
};
|
|
780
|
+
const deleteTableRows = async (id, query, signal) => {
|
|
781
|
+
const { data } = await client.delete(
|
|
782
|
+
`/tables/{id}/rows`,
|
|
783
|
+
{ path: { id }, query },
|
|
784
|
+
{ signal }
|
|
785
|
+
);
|
|
786
|
+
return data;
|
|
787
|
+
};
|
|
788
|
+
const getDataPreview = async (id, query, signal) => {
|
|
789
|
+
const { data } = await client.get(
|
|
790
|
+
`/tables/{id}/data-preview`,
|
|
791
|
+
{ path: { id }, query: { format: "json", ...query } },
|
|
792
|
+
{ signal }
|
|
793
|
+
);
|
|
794
|
+
return data;
|
|
795
|
+
};
|
|
796
|
+
const exportAsync = async (tableId, body, signal) => {
|
|
797
|
+
const { data } = await client.post(
|
|
798
|
+
"/tables/{id}/export-async",
|
|
799
|
+
{ path: { id: tableId }, body },
|
|
800
|
+
{ signal }
|
|
801
|
+
);
|
|
802
|
+
return data;
|
|
803
|
+
};
|
|
804
|
+
const createTableAsync = async (bucketId, body, signal) => {
|
|
805
|
+
const { data } = await client.post("/buckets/{bucketId}/tables-async", { path: { bucketId }, body }, { signal });
|
|
806
|
+
return data;
|
|
807
|
+
};
|
|
808
|
+
const importAsync = async (tableId, body, signal) => {
|
|
809
|
+
const { data } = await client.post(
|
|
810
|
+
"/tables/{id}/import-async",
|
|
811
|
+
{ path: { id: tableId }, body },
|
|
812
|
+
{ signal }
|
|
813
|
+
);
|
|
814
|
+
return data;
|
|
815
|
+
};
|
|
816
|
+
return {
|
|
817
|
+
getTables,
|
|
818
|
+
getTable,
|
|
819
|
+
getDataPreview,
|
|
820
|
+
deleteTable,
|
|
821
|
+
deleteTables,
|
|
822
|
+
deleteTableRows,
|
|
823
|
+
exportAsync,
|
|
824
|
+
createTableAsync,
|
|
825
|
+
importAsync
|
|
826
|
+
};
|
|
827
|
+
};
|
|
828
|
+
|
|
829
|
+
// src/clients/storage/tokens/tokens.ts
|
|
830
|
+
var createTokens = (client) => {
|
|
831
|
+
const verify = async (signal) => {
|
|
832
|
+
const { data } = await client.get(
|
|
833
|
+
"/tokens/verify",
|
|
834
|
+
{},
|
|
835
|
+
{ signal }
|
|
836
|
+
);
|
|
837
|
+
return data;
|
|
838
|
+
};
|
|
839
|
+
const refresh = async (id, signal) => {
|
|
840
|
+
const { data } = await client.post(
|
|
841
|
+
`/tokens/${id}/refresh`,
|
|
842
|
+
{},
|
|
843
|
+
{ signal }
|
|
844
|
+
);
|
|
845
|
+
return data;
|
|
846
|
+
};
|
|
847
|
+
return {
|
|
848
|
+
verify,
|
|
849
|
+
refresh
|
|
850
|
+
};
|
|
851
|
+
};
|
|
852
|
+
|
|
853
|
+
// src/clients/storage/workspaces/workspaces.ts
|
|
854
|
+
var createWorkspaces = (client) => {
|
|
855
|
+
const getWorkspaces = async (branchId, signal) => {
|
|
856
|
+
const { data } = await client.get(
|
|
857
|
+
"/branch/{branchId}/workspaces",
|
|
858
|
+
{ path: { branchId } },
|
|
859
|
+
{ signal }
|
|
860
|
+
);
|
|
861
|
+
return data;
|
|
862
|
+
};
|
|
863
|
+
const getWorkspace = async (path, signal) => {
|
|
864
|
+
const { data } = await client.get(
|
|
865
|
+
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
866
|
+
{ path },
|
|
867
|
+
{ signal }
|
|
868
|
+
);
|
|
869
|
+
return data;
|
|
870
|
+
};
|
|
871
|
+
const deleteWorkspace = async (path) => {
|
|
872
|
+
await client.delete(
|
|
873
|
+
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
874
|
+
{ path }
|
|
875
|
+
);
|
|
876
|
+
};
|
|
877
|
+
const deleteWorkspaces = async ({
|
|
878
|
+
workspaceIds,
|
|
879
|
+
branchId
|
|
880
|
+
}) => {
|
|
881
|
+
await concurrent({
|
|
882
|
+
items: workspaceIds,
|
|
883
|
+
process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),
|
|
884
|
+
concurrency: 5
|
|
885
|
+
});
|
|
886
|
+
};
|
|
887
|
+
const deleteWorkspaceJob = async (path) => {
|
|
888
|
+
const { data } = await client.delete(
|
|
889
|
+
"/branch/{branchId}/workspaces/{workspaceId}",
|
|
890
|
+
{ path, query: { async: true } },
|
|
891
|
+
{}
|
|
892
|
+
);
|
|
893
|
+
return data;
|
|
894
|
+
};
|
|
895
|
+
const resetWorkspacePassword = async ({ branchId, workspaceId }) => {
|
|
896
|
+
const { data } = await client.post(
|
|
897
|
+
"/branch/{branchId}/workspaces/{workspaceId}/password",
|
|
898
|
+
{
|
|
899
|
+
path: { branchId, workspaceId }
|
|
900
|
+
}
|
|
901
|
+
);
|
|
902
|
+
return data;
|
|
903
|
+
};
|
|
904
|
+
const getWorkspaceSaml2Login = async (path, signal) => {
|
|
905
|
+
const { data } = await client.get(
|
|
906
|
+
"/branch/{branchId}/workspaces/{workspaceId}/saml2-login",
|
|
907
|
+
{ path },
|
|
908
|
+
{ signal }
|
|
909
|
+
);
|
|
910
|
+
return data;
|
|
911
|
+
};
|
|
912
|
+
const setWorkspacePublicKey = async ({
|
|
913
|
+
branchId,
|
|
914
|
+
workspaceId,
|
|
915
|
+
publicKey
|
|
916
|
+
}) => {
|
|
917
|
+
const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/public-key", {
|
|
918
|
+
path: { branchId, workspaceId },
|
|
919
|
+
body: { publicKey }
|
|
920
|
+
});
|
|
921
|
+
return data;
|
|
922
|
+
};
|
|
923
|
+
const getWorkspaceObjects = async (path, signal) => {
|
|
924
|
+
const { data } = await client.get(
|
|
925
|
+
"/branch/{branchId}/workspaces/{workspaceId}/objects",
|
|
926
|
+
{ path },
|
|
927
|
+
{ signal }
|
|
928
|
+
);
|
|
929
|
+
return data;
|
|
930
|
+
};
|
|
931
|
+
const deleteWorkspaceObjectsAsync = async ({
|
|
932
|
+
branchId,
|
|
933
|
+
workspaceId,
|
|
934
|
+
...body
|
|
935
|
+
}) => {
|
|
936
|
+
const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete", {
|
|
937
|
+
path: { branchId, workspaceId },
|
|
938
|
+
body
|
|
939
|
+
});
|
|
940
|
+
return data;
|
|
941
|
+
};
|
|
942
|
+
return {
|
|
943
|
+
getWorkspace,
|
|
944
|
+
getWorkspaces,
|
|
945
|
+
deleteWorkspace,
|
|
946
|
+
resetWorkspacePassword,
|
|
947
|
+
deleteWorkspaces,
|
|
948
|
+
deleteWorkspaceJob,
|
|
949
|
+
setWorkspacePublicKey,
|
|
950
|
+
getWorkspaceSaml2Login,
|
|
951
|
+
getWorkspaceObjects,
|
|
952
|
+
deleteWorkspaceObjectsAsync
|
|
953
|
+
};
|
|
954
|
+
};
|
|
955
|
+
|
|
956
|
+
// src/clients/storage/storageClient.ts
|
|
957
|
+
var createStorageClient = ({ baseUrl, middlewares = [] }) => {
|
|
958
|
+
const storageBaseUrl = `${baseUrl}/v2/storage`;
|
|
959
|
+
const client = createGenericFetchClient({
|
|
960
|
+
baseUrl: storageBaseUrl,
|
|
961
|
+
middlewares
|
|
962
|
+
});
|
|
963
|
+
const openApiClient = createOpenapiFetchClient({
|
|
964
|
+
baseUrl,
|
|
965
|
+
middlewares
|
|
966
|
+
});
|
|
967
|
+
const getStackInfo = async (query, signal) => {
|
|
968
|
+
const { data } = await client.get(
|
|
969
|
+
"",
|
|
970
|
+
{ query },
|
|
971
|
+
{ signal }
|
|
972
|
+
);
|
|
973
|
+
return data;
|
|
974
|
+
};
|
|
975
|
+
return {
|
|
976
|
+
buckets: createBuckets(client),
|
|
977
|
+
events: createEvents(client),
|
|
978
|
+
files: createFiles(client),
|
|
979
|
+
tables: createTables(client),
|
|
980
|
+
branches: createBranches(client),
|
|
981
|
+
workspaces: createWorkspaces(client),
|
|
982
|
+
mergeRequests: createMergeRequests(openApiClient),
|
|
983
|
+
jobs: createJobs(client),
|
|
984
|
+
componentsAndConfigurations: createComponentsAndConfigurations(client),
|
|
985
|
+
configurationVersions: createConfigurationVersions(client),
|
|
986
|
+
tokens: createTokens(client),
|
|
987
|
+
getStackInfo
|
|
988
|
+
};
|
|
989
|
+
};
|
|
990
|
+
|
|
991
|
+
// src/constants.ts
|
|
992
|
+
var KeboolaHttpHeader = {
|
|
993
|
+
STORAGE_API_TOKEN: "X-StorageApi-Token"};
|
|
994
|
+
|
|
995
|
+
// src/clients/storage/storageTokenMiddleware.ts
|
|
996
|
+
var isTokenRefreshEndpoint = (request) => {
|
|
997
|
+
const url = new URL(request.url);
|
|
998
|
+
return request.method === "POST" && /\/tokens\/[^/]+\/refresh$/.test(url.pathname);
|
|
999
|
+
};
|
|
1000
|
+
var tryParseNewToken = (data) => {
|
|
1001
|
+
if (data === null || typeof data !== "object") return null;
|
|
1002
|
+
const token = data.token;
|
|
1003
|
+
return typeof token === "string" ? token : null;
|
|
1004
|
+
};
|
|
1005
|
+
var createStorageTokenMiddleware = (initialToken) => {
|
|
1006
|
+
let current = initialToken;
|
|
1007
|
+
return (next) => async (request) => {
|
|
1008
|
+
request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);
|
|
1009
|
+
const response = await next(request);
|
|
1010
|
+
if (isTokenRefreshEndpoint(request.request)) {
|
|
1011
|
+
const newToken = tryParseNewToken(response.data);
|
|
1012
|
+
if (newToken !== null) current = newToken;
|
|
1013
|
+
}
|
|
1014
|
+
return response;
|
|
1015
|
+
};
|
|
1016
|
+
};
|
|
1017
|
+
|
|
1018
|
+
exports.createStorageClient = createStorageClient;
|
|
1019
|
+
exports.createStorageTokenMiddleware = createStorageTokenMiddleware;
|
|
1020
|
+
//# sourceMappingURL=index.cjs.map
|
|
1021
|
+
//# sourceMappingURL=index.cjs.map
|