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