@keboola/api-client 1.0.1 → 3.0.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/dist/ai/index.cjs +5 -201
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.js +2 -201
- package/dist/ai/index.js.map +1 -1
- package/dist/assets/index.cjs +5 -180
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.js +2 -180
- package/dist/assets/index.js.map +1 -1
- package/dist/chat/index.cjs +6 -422
- package/dist/chat/index.cjs.map +1 -1
- package/dist/chat/index.js +3 -422
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/suggestions.cjs +70 -152
- package/dist/chat/suggestions.cjs.map +1 -1
- package/dist/chat/suggestions.js +1 -138
- package/dist/chat/suggestions.js.map +1 -1
- package/dist/chunk-3B7L6MCG.js +189 -0
- package/dist/chunk-3B7L6MCG.js.map +1 -0
- package/dist/chunk-3T54WH4X.cjs +42 -0
- package/dist/chunk-3T54WH4X.cjs.map +1 -0
- package/dist/chunk-3Y6NK7TC.js +34 -0
- package/dist/chunk-3Y6NK7TC.js.map +1 -0
- package/dist/chunk-4RC5E3SL.js +140 -0
- package/dist/chunk-4RC5E3SL.js.map +1 -0
- package/dist/chunk-633QJMHH.cjs +73 -0
- package/dist/chunk-633QJMHH.cjs.map +1 -0
- package/dist/chunk-6RQDX6JY.cjs +132 -0
- package/dist/chunk-6RQDX6JY.cjs.map +1 -0
- package/dist/chunk-76AHKXLC.cjs +29 -0
- package/dist/chunk-76AHKXLC.cjs.map +1 -0
- package/dist/chunk-7FY6COWG.js +71 -0
- package/dist/chunk-7FY6COWG.js.map +1 -0
- package/dist/chunk-7J2R6XHB.js +3 -0
- package/dist/chunk-7J2R6XHB.js.map +1 -0
- package/dist/chunk-BGLICNTG.cjs +33 -0
- package/dist/chunk-BGLICNTG.cjs.map +1 -0
- package/dist/chunk-BR3SBEFE.cjs +182 -0
- package/dist/chunk-BR3SBEFE.cjs.map +1 -0
- package/dist/chunk-CVV4HROS.cjs +37 -0
- package/dist/chunk-CVV4HROS.cjs.map +1 -0
- package/dist/chunk-DCTDH77P.cjs +277 -0
- package/dist/chunk-DCTDH77P.cjs.map +1 -0
- package/dist/chunk-EBCZUGUX.js +35 -0
- package/dist/chunk-EBCZUGUX.js.map +1 -0
- package/dist/chunk-EY5LALX2.cjs +26 -0
- package/dist/chunk-EY5LALX2.cjs.map +1 -0
- package/dist/chunk-FBQHHAL5.js +40 -0
- package/dist/chunk-FBQHHAL5.js.map +1 -0
- package/dist/chunk-GF4XZK5N.cjs +43 -0
- package/dist/chunk-GF4XZK5N.cjs.map +1 -0
- package/dist/chunk-GNPQB3MT.js +27 -0
- package/dist/chunk-GNPQB3MT.js.map +1 -0
- package/dist/chunk-GO6SOMGL.js +181 -0
- package/dist/chunk-GO6SOMGL.js.map +1 -0
- package/dist/chunk-HCNNMUTR.cjs +36 -0
- package/dist/chunk-HCNNMUTR.cjs.map +1 -0
- package/dist/chunk-HPVTVQBJ.cjs +238 -0
- package/dist/chunk-HPVTVQBJ.cjs.map +1 -0
- package/dist/chunk-HYUGRMCY.cjs +247 -0
- package/dist/chunk-HYUGRMCY.cjs.map +1 -0
- package/dist/chunk-IJMQCOBC.js +34 -0
- package/dist/chunk-IJMQCOBC.js.map +1 -0
- package/dist/chunk-IY3VNVXD.cjs +183 -0
- package/dist/chunk-IY3VNVXD.cjs.map +1 -0
- package/dist/chunk-JKFIB6SQ.cjs +685 -0
- package/dist/chunk-JKFIB6SQ.cjs.map +1 -0
- package/dist/chunk-JLNOESHX.cjs +47 -0
- package/dist/chunk-JLNOESHX.cjs.map +1 -0
- package/dist/chunk-JURD5MC3.js +178 -0
- package/dist/chunk-JURD5MC3.js.map +1 -0
- package/dist/chunk-LV3ZWNDC.js +75 -0
- package/dist/chunk-LV3ZWNDC.js.map +1 -0
- package/dist/chunk-LZ6A6J2E.cjs +77 -0
- package/dist/chunk-LZ6A6J2E.cjs.map +1 -0
- package/dist/chunk-OKVYLO6C.js +108 -0
- package/dist/chunk-OKVYLO6C.js.map +1 -0
- package/dist/chunk-PD3LJYS2.js +218 -0
- package/dist/chunk-PD3LJYS2.js.map +1 -0
- package/dist/chunk-PV4HIVW2.js +130 -0
- package/dist/chunk-PV4HIVW2.js.map +1 -0
- package/dist/chunk-R7PD3BRA.js +261 -0
- package/dist/chunk-R7PD3BRA.js.map +1 -0
- package/dist/chunk-SAEG42HW.js +64 -0
- package/dist/chunk-SAEG42HW.js.map +1 -0
- package/dist/chunk-TIIRBQUA.cjs +110 -0
- package/dist/chunk-TIIRBQUA.cjs.map +1 -0
- package/dist/chunk-TNJWOHPM.js +948 -0
- package/dist/chunk-TNJWOHPM.js.map +1 -0
- package/dist/chunk-TXFQ4YIK.js +31 -0
- package/dist/chunk-TXFQ4YIK.js.map +1 -0
- package/dist/chunk-U5SE6W5M.cjs +158 -0
- package/dist/chunk-U5SE6W5M.cjs.map +1 -0
- package/dist/chunk-UABYNGBZ.js +39 -0
- package/dist/chunk-UABYNGBZ.js.map +1 -0
- package/dist/chunk-UXF53ZOV.js +220 -0
- package/dist/chunk-UXF53ZOV.js.map +1 -0
- package/dist/chunk-VAOCYA6B.js +20 -0
- package/dist/chunk-VAOCYA6B.js.map +1 -0
- package/dist/chunk-VS5PM7KL.js +45 -0
- package/dist/chunk-VS5PM7KL.js.map +1 -0
- package/dist/chunk-WQ7EZWBF.js +24 -0
- package/dist/chunk-WQ7EZWBF.js.map +1 -0
- package/dist/chunk-XFC52BJV.cjs +952 -0
- package/dist/chunk-XFC52BJV.cjs.map +1 -0
- package/dist/chunk-XPDEQND7.cjs +4 -0
- package/dist/chunk-XPDEQND7.cjs.map +1 -0
- package/dist/chunk-XUDMML5C.cjs +211 -0
- package/dist/chunk-XUDMML5C.cjs.map +1 -0
- package/dist/chunk-YPCD7M2N.cjs +22 -0
- package/dist/chunk-YPCD7M2N.cjs.map +1 -0
- package/dist/chunk-YUEYMIMI.cjs +67 -0
- package/dist/chunk-YUEYMIMI.cjs.map +1 -0
- package/dist/chunk-YXCVNX2Q.cjs +36 -0
- package/dist/chunk-YXCVNX2Q.cjs.map +1 -0
- package/dist/chunk-ZEMKE6DI.js +681 -0
- package/dist/chunk-ZEMKE6DI.js.map +1 -0
- package/dist/dataScience/index.cjs +8 -412
- package/dist/dataScience/index.cjs.map +1 -1
- package/dist/dataScience/index.js +2 -391
- package/dist/dataScience/index.js.map +1 -1
- package/dist/domain/permissions/index.cjs +131 -2
- package/dist/domain/permissions/index.cjs.map +1 -1
- package/dist/domain/permissions/index.d.cts +108 -2
- package/dist/domain/permissions/index.d.ts +108 -2
- package/dist/domain/permissions/index.js +106 -3
- package/dist/domain/permissions/index.js.map +1 -1
- package/dist/editor/index.cjs +5 -264
- package/dist/editor/index.cjs.map +1 -1
- package/dist/editor/index.js +2 -264
- package/dist/editor/index.js.map +1 -1
- package/dist/encryption/index.cjs +5 -190
- package/dist/encryption/index.cjs.map +1 -1
- package/dist/encryption/index.js +2 -190
- package/dist/encryption/index.js.map +1 -1
- package/dist/import/index.cjs +5 -196
- package/dist/import/index.cjs.map +1 -1
- package/dist/import/index.js +2 -196
- package/dist/import/index.js.map +1 -1
- package/dist/index.cjs +334 -3752
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1814 -104
- package/dist/index.d.ts +1814 -104
- package/dist/index.js +176 -3627
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +10 -881
- package/dist/management/index.cjs.map +1 -1
- package/dist/management/index.js +3 -880
- package/dist/management/index.js.map +1 -1
- package/dist/metastore/index.cjs +5 -337
- package/dist/metastore/index.cjs.map +1 -1
- package/dist/metastore/index.js +2 -337
- package/dist/metastore/index.js.map +1 -1
- package/dist/oauth/index.cjs +5 -226
- package/dist/oauth/index.cjs.map +1 -1
- package/dist/oauth/index.js +2 -226
- package/dist/oauth/index.js.map +1 -1
- package/dist/project-Bzslbq4u.d.ts +16 -0
- package/dist/project-CYhB6rYN.d.cts +16 -0
- package/dist/queryService/index.cjs +5 -248
- package/dist/queryService/index.cjs.map +1 -1
- package/dist/queryService/index.js +2 -248
- package/dist/queryService/index.js.map +1 -1
- package/dist/queue/index.cjs +5 -190
- package/dist/queue/index.cjs.map +1 -1
- package/dist/queue/index.js +2 -190
- package/dist/queue/index.js.map +1 -1
- package/dist/sdk/configurations/index.d.cts +2 -12
- package/dist/sdk/configurations/index.d.ts +2 -12
- package/dist/sdk/storage/index.cjs +49 -267
- package/dist/sdk/storage/index.cjs.map +1 -1
- package/dist/sdk/storage/index.d.cts +2 -2
- package/dist/sdk/storage/index.d.ts +2 -2
- package/dist/sdk/storage/index.js +1 -259
- package/dist/sdk/storage/index.js.map +1 -1
- package/dist/sdk/tag/index.cjs +6 -203
- package/dist/sdk/tag/index.cjs.map +1 -1
- package/dist/sdk/tag/index.js +2 -206
- package/dist/sdk/tag/index.js.map +1 -1
- package/dist/status/index.cjs +6 -176
- package/dist/status/index.cjs.map +1 -1
- package/dist/status/index.js +3 -176
- package/dist/status/index.js.map +1 -1
- package/dist/status/types.cjs +2 -0
- package/dist/status/types.js +1 -1
- package/dist/storage/index.cjs +9 -1110
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.d.cts +1 -1
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +3 -1110
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/types.d.cts +39 -2
- package/dist/storage/types.d.ts +39 -2
- package/dist/{storageClient-DrYOs4Xm.d.ts → storageClient-BgvUM7gy.d.ts} +4 -1
- package/dist/{storageClient-DSLTM3Cr.d.cts → storageClient-CDX-GvNV.d.cts} +4 -1
- package/dist/{storageSdk-BBqAo0Vx.d.cts → storageSdk-IOIdwqy-.d.cts} +1 -1
- package/dist/{storageSdk-ZVmKQQSl.d.ts → storageSdk-qGaWB1dy.d.ts} +1 -1
- package/dist/syncActions/index.cjs +5 -364
- package/dist/syncActions/index.cjs.map +1 -1
- package/dist/syncActions/index.js +2 -345
- package/dist/syncActions/index.js.map +1 -1
- package/dist/telemetry/index.cjs +5 -187
- package/dist/telemetry/index.cjs.map +1 -1
- package/dist/telemetry/index.js +2 -187
- package/dist/telemetry/index.js.map +1 -1
- package/dist/vault/index.cjs +5 -219
- package/dist/vault/index.cjs.map +1 -1
- package/dist/vault/index.js +2 -219
- package/dist/vault/index.js.map +1 -1
- package/dist/verify/index.cjs +5 -184
- package/dist/verify/index.cjs.map +1 -1
- package/dist/verify/index.js +2 -184
- package/dist/verify/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/concurrent.ts"],"names":[],"mappings":";AAgBO,IAAM,aAAa,OAAa;AAAA,EACrC,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,CAAA;AAAA,EACd,cAAc;AAChB,CAAA,KAA6C;AAC3C,EAAA,IAAI,WAAA,GAAc,CAAA,EAAG,MAAM,IAAI,MAAM,oCAAoC,CAAA;AACzE,EAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,EAAC;AAChC,EAAA,IAAI,WAAA,KAAgB,QAAA;AAClB,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU,OAAA,CAAQ,IAAA,EAAM,KAAA,EAAO,KAAA,CAAM,MAAM,CAAC,CAAC,CAAA;AAEnF,EAAA,MAAM,IAAI,KAAA,CAAM,MAAA;AAChB,EAAA,MAAM,OAAA,GAAe,IAAI,KAAA,CAAM,CAAC,CAAA;AAEhC,EAAA,MAAM,yBAAyB,WAAA,CAAY,WAAA;AAAA,IACzC,CAAC,IAAA,EAAM,UAAA,KAAe,UAAA,CAAW,IAAI,CAAA;AAAA,IACrC;AAAA,GACF;AAEA,EAAA,MAAM,QAAQ,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,UAAU,YAAY;AACnD,IAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,MAAM,uBAAuB,IAAA,EAAM,KAAA,EAAO,MAAM,MAAM,CAAA;AAAA,EACzE,CAAC,CAAA;AAED,EAAA,MAAM,UAAU,KAAA,CAAM,IAAA;AAAA,IACpB,EAAE,MAAA,EAAQ,IAAA,CAAK,IAAI,WAAA,EAAa,KAAA,CAAM,MAAM,CAAA,EAAE;AAAA,IAC9C,eAAe,YAAA,GAAe;AAC5B,MAAA,OAAO,MAAM,MAAA,EAAQ;AACnB,QAAA,MAAM,KAAA,CAAM,OAAM,IAAI;AAAA,MACxB;AAAA,IACF;AAAA,GACF;AAEA,EAAA,MAAM,OAAA,CAAQ,IAAI,OAAO,CAAA;AACzB,EAAA,OAAO,OAAA;AACT","file":"chunk-EBCZUGUX.js","sourcesContent":["type ProcessFn<T, R> = (item: T, index: number, arrayLength: number) => Promise<R>;\nexport type MiddlewareFn<T, R> = (next: ProcessFn<T, R>) => ProcessFn<T, R>;\n\nexport type ConcurrentOptions<T, R> = {\n items: T[];\n process: ProcessFn<T, R>;\n concurrency?: number;\n middlewares?: MiddlewareFn<T, R>[];\n};\n\n/**\n * Executes an asynchronous callback function on an array of items, processing multiple items concurrently with a specified concurrency limit.\n * It behaves similarly to Promise.all(), failing on the first rejected promise.\n * The order of the results matches the order of the promises.\n * The API is the same as Bluebird.map().\n */\nexport const concurrent = async <T, R>({\n items,\n process,\n concurrency = 2,\n middlewares = [],\n}: ConcurrentOptions<T, R>): Promise<R[]> => {\n if (concurrency < 1) throw new Error('Concurrency must be greater than 0');\n if (items.length === 0) return [];\n if (concurrency === Infinity)\n return Promise.all(items.map((item, index) => process(item, index, items.length)));\n\n const n = items.length;\n const results: R[] = new Array(n);\n\n const processWithMiddlewares = middlewares.reduceRight(\n (next, middleware) => middleware(next),\n process,\n );\n\n const queue = items.map((item, index) => async () => {\n results[index] = await processWithMiddlewares(item, index, items.length);\n });\n\n const workers = Array.from(\n { length: Math.min(concurrency, items.length) },\n async function processQueue() {\n while (queue.length) {\n await queue.shift()?.();\n }\n },\n );\n\n await Promise.all(workers);\n return results;\n};\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkHPVTVQBJ_cjs = require('./chunk-HPVTVQBJ.cjs');
|
|
4
|
+
|
|
5
|
+
// src/clients/assets/assetsClient.ts
|
|
6
|
+
var createAssetsClient = ({ baseUrl, middlewares }) => {
|
|
7
|
+
const client = chunkHPVTVQBJ_cjs.createGenericFetchClient({
|
|
8
|
+
baseUrl: chunkHPVTVQBJ_cjs.normalizeBaseUrl(baseUrl),
|
|
9
|
+
middlewares
|
|
10
|
+
});
|
|
11
|
+
const getPublishedChangelogPosts = async (signal) => {
|
|
12
|
+
const { data } = await client.get(
|
|
13
|
+
"/platform-changelog/published-posts.json",
|
|
14
|
+
{},
|
|
15
|
+
{ signal }
|
|
16
|
+
);
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
getPublishedChangelogPosts
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.createAssetsClient = createAssetsClient;
|
|
25
|
+
//# sourceMappingURL=chunk-EY5LALX2.cjs.map
|
|
26
|
+
//# sourceMappingURL=chunk-EY5LALX2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/assets/assetsClient.ts"],"names":["createGenericFetchClient","normalizeBaseUrl"],"mappings":";;;;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAASA,0CAAA,CAAyB;AAAA,IACtC,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,0BAAA,GAA6B,OAAO,MAAA,KAAyB;AACjE,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,GAAA;AAAA,MAC5B,0CAAA;AAAA,MACA,EAAC;AAAA,MACD,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-EY5LALX2.cjs","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { Post } from './types';\n\nexport const createAssetsClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const getPublishedChangelogPosts = async (signal?: AbortSignal) => {\n const { data } = await client.get<Post[]>(\n '/platform-changelog/published-posts.json',\n {},\n { signal },\n );\n\n return data;\n };\n\n return {\n getPublishedChangelogPosts,\n };\n};\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createGenericFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/import/importClient.ts
|
|
4
|
+
var createImportClient = ({ baseUrl, middlewares }) => {
|
|
5
|
+
const client = createGenericFetchClient({
|
|
6
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
7
|
+
middlewares
|
|
8
|
+
});
|
|
9
|
+
const uploadFile = async (file, params = {}, signal) => {
|
|
10
|
+
const formData = new FormData();
|
|
11
|
+
formData.append("data", file);
|
|
12
|
+
if (params.isPermanent) {
|
|
13
|
+
formData.append("isPermanent", "1");
|
|
14
|
+
}
|
|
15
|
+
if (params.notify) {
|
|
16
|
+
formData.append("notify", "1");
|
|
17
|
+
}
|
|
18
|
+
if (params.branchId) {
|
|
19
|
+
formData.append("branchId", params.branchId);
|
|
20
|
+
}
|
|
21
|
+
if (params.tags) {
|
|
22
|
+
for (const tag of params.tags) {
|
|
23
|
+
formData.append("tags[]", tag);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const { data } = await client.post(
|
|
27
|
+
"/upload-file",
|
|
28
|
+
{ body: formData },
|
|
29
|
+
{ signal }
|
|
30
|
+
);
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
uploadFile
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { createImportClient };
|
|
39
|
+
//# sourceMappingURL=chunk-FBQHHAL5.js.map
|
|
40
|
+
//# sourceMappingURL=chunk-FBQHHAL5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/import/importClient.ts"],"names":[],"mappings":";;;AAMO,IAAM,kBAAA,GAAqB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACjF,EAAA,MAAM,SAAS,wBAAA,CAAyB;AAAA,IACtC,OAAA,EAAS,iBAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,aAAa,OAAO,IAAA,EAAY,MAAA,GAA2B,IAAI,MAAA,KAAyB;AAC5F,IAAA,MAAM,QAAA,GAAW,IAAI,QAAA,EAAS;AAC9B,IAAA,QAAA,CAAS,MAAA,CAAO,QAAQ,IAAI,CAAA;AAE5B,IAAA,IAAI,OAAO,WAAA,EAAa;AACtB,MAAA,QAAA,CAAS,MAAA,CAAO,eAAe,GAAG,CAAA;AAAA,IACpC;AAEA,IAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,MAAA,QAAA,CAAS,MAAA,CAAO,UAAU,GAAG,CAAA;AAAA,IAC/B;AAEA,IAAA,IAAI,OAAO,QAAA,EAAU;AACnB,MAAA,QAAA,CAAS,MAAA,CAAO,UAAA,EAAY,MAAA,CAAO,QAAQ,CAAA;AAAA,IAC7C;AAEA,IAAA,IAAI,OAAO,IAAA,EAAM;AACf,MAAA,KAAA,MAAW,GAAA,IAAO,OAAO,IAAA,EAAM;AAC7B,QAAA,QAAA,CAAS,MAAA,CAAO,UAAU,GAAG,CAAA;AAAA,MAC/B;AAAA,IACF;AAEA,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,cAAA;AAAA,MACA,EAAE,MAAM,QAAA,EAAS;AAAA,MACjB,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL;AAAA,GACF;AACF","file":"chunk-FBQHHAL5.js","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { UploadedFile, UploadFileParams } from './types';\n\nexport const createImportClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const uploadFile = async (file: File, params: UploadFileParams = {}, signal?: AbortSignal) => {\n const formData = new FormData();\n formData.append('data', file);\n\n if (params.isPermanent) {\n formData.append('isPermanent', '1');\n }\n\n if (params.notify) {\n formData.append('notify', '1');\n }\n\n if (params.branchId) {\n formData.append('branchId', params.branchId);\n }\n\n if (params.tags) {\n for (const tag of params.tags) {\n formData.append('tags[]', tag);\n }\n }\n\n const { data } = await client.post<UploadedFile, never, never, FormData>(\n '/upload-file',\n { body: formData },\n { signal },\n );\n\n return data;\n };\n\n return {\n uploadFile,\n };\n};\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/domain/project.ts
|
|
4
|
+
var hasFeature = (token, ...feature) => {
|
|
5
|
+
if (feature.length === 0) return false;
|
|
6
|
+
const projectFeatureSet = new Set(token.owner.features);
|
|
7
|
+
return feature.every((x) => projectFeatureSet.has(x));
|
|
8
|
+
};
|
|
9
|
+
var hasAdminFeature = (token, ...feature) => {
|
|
10
|
+
if (feature.length === 0) return false;
|
|
11
|
+
const adminFeatureSet = new Set(token.admin.features);
|
|
12
|
+
return feature.every((x) => adminFeatureSet.has(x));
|
|
13
|
+
};
|
|
14
|
+
var createProject = ({ sapiToken }) => {
|
|
15
|
+
const { owner, admin } = sapiToken;
|
|
16
|
+
const projectFeatureSet = new Set(owner.features);
|
|
17
|
+
const adminFeatureSet = new Set(admin.features);
|
|
18
|
+
const hasFeature2 = (...feature) => {
|
|
19
|
+
if (feature.length === 0) return false;
|
|
20
|
+
return feature.every((x) => projectFeatureSet.has(x));
|
|
21
|
+
};
|
|
22
|
+
const hasAdminFeature2 = (...feature) => {
|
|
23
|
+
if (feature.length === 0) return false;
|
|
24
|
+
return feature.every((x) => adminFeatureSet.has(x));
|
|
25
|
+
};
|
|
26
|
+
const hasBackend = (backend) => {
|
|
27
|
+
if (backend === "bigquery") return owner.hasBigquery;
|
|
28
|
+
if (backend === "snowflake") return owner.hasSnowflake;
|
|
29
|
+
return false;
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
hasFeature: hasFeature2,
|
|
33
|
+
hasAdminFeature: hasAdminFeature2,
|
|
34
|
+
hasBackend,
|
|
35
|
+
sapiToken
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.createProject = createProject;
|
|
40
|
+
exports.hasAdminFeature = hasAdminFeature;
|
|
41
|
+
exports.hasFeature = hasFeature;
|
|
42
|
+
//# sourceMappingURL=chunk-GF4XZK5N.cjs.map
|
|
43
|
+
//# sourceMappingURL=chunk-GF4XZK5N.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/domain/project.ts"],"names":["hasFeature","hasAdminFeature"],"mappings":";;;AAMO,IAAM,UAAA,GAAa,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AAChF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACtD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AACtD;AAEO,IAAM,eAAA,GAAkB,CAAC,KAAA,EAAA,GAAwB,OAAA,KAA+B;AACrF,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,MAAM,QAAQ,CAAA;AACpD,EAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AACpD;AAEO,IAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAU,KAAe;AACvD,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAM,GAAI,SAAA;AACzB,EAAA,MAAM,iBAAA,GAAoB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAChD,EAAA,MAAM,eAAA,GAAkB,IAAI,GAAA,CAAI,KAAA,CAAM,QAAQ,CAAA;AAE9C,EAAA,MAAMA,WAAAA,GAAa,IAAI,OAAA,KAAsB;AAC3C,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,iBAAA,CAAkB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACtD,CAAA;AAEA,EAAA,MAAMC,gBAAAA,GAAkB,IAAI,OAAA,KAAsB;AAChD,IAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AACjC,IAAA,OAAO,QAAQ,KAAA,CAAM,CAAC,MAAM,eAAA,CAAgB,GAAA,CAAI,CAAC,CAAC,CAAA;AAAA,EACpD,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,OAAA,KAA8B;AAChD,IAAA,IAAI,OAAA,KAAY,UAAA,EAAY,OAAO,KAAA,CAAM,WAAA;AACzC,IAAA,IAAI,OAAA,KAAY,WAAA,EAAa,OAAO,KAAA,CAAM,YAAA;AAC1C,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,UAAA,EAAAD,WAAAA;AAAA,IACA,eAAA,EAAAC,gBAAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-GF4XZK5N.cjs","sourcesContent":["import type { Backend, StorageToken } from '../clients/storage/tokens/types';\n\ntype Options = {\n sapiToken: StorageToken;\n};\n\nexport const hasFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const projectFeatureSet = new Set(token.owner.features);\n return feature.every((x) => projectFeatureSet.has(x));\n};\n\nexport const hasAdminFeature = (token: StorageToken, ...feature: string[]): boolean => {\n if (feature.length === 0) return false;\n const adminFeatureSet = new Set(token.admin.features);\n return feature.every((x) => adminFeatureSet.has(x));\n};\n\nexport const createProject = ({ sapiToken }: Options) => {\n const { owner, admin } = sapiToken;\n const projectFeatureSet = new Set(owner.features);\n const adminFeatureSet = new Set(admin.features);\n\n const hasFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => projectFeatureSet.has(x));\n };\n\n const hasAdminFeature = (...feature: string[]) => {\n if (feature.length === 0) return false;\n return feature.every((x) => adminFeatureSet.has(x));\n };\n\n const hasBackend = (backend: Backend): boolean => {\n if (backend === 'bigquery') return owner.hasBigquery;\n if (backend === 'snowflake') return owner.hasSnowflake;\n return false;\n };\n\n return {\n hasFeature,\n hasAdminFeature,\n hasBackend,\n sapiToken,\n };\n};\n\nexport type Project = ReturnType<typeof createProject>;\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createGenericFetchClient, KeboolaHttpHeader, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/verify/createVerifyClient.ts
|
|
4
|
+
var createVerifyClient = () => {
|
|
5
|
+
const storageApiToken = async (host, token, signal) => {
|
|
6
|
+
const { data } = await createGenericFetchClient({
|
|
7
|
+
baseUrl: `${normalizeBaseUrl(host)}/v2/storage`,
|
|
8
|
+
headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token })
|
|
9
|
+
}).get("/tokens/verify", {}, { signal });
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
const managementApiToken = async (host, token, signal) => {
|
|
13
|
+
const { data } = await createGenericFetchClient({
|
|
14
|
+
baseUrl: normalizeBaseUrl(host),
|
|
15
|
+
headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token })
|
|
16
|
+
}).get("/manage/tokens/verify", {}, { signal });
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
storageApiToken,
|
|
21
|
+
managementApiToken
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { createVerifyClient };
|
|
26
|
+
//# sourceMappingURL=chunk-GNPQB3MT.js.map
|
|
27
|
+
//# sourceMappingURL=chunk-GNPQB3MT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/verify/createVerifyClient.ts"],"names":[],"mappings":";;;AAOO,IAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,eAAA,GAAkB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACnF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,wBAAA,CAAyB;AAAA,MAC9C,OAAA,EAAS,CAAA,EAAG,gBAAA,CAAiB,IAAI,CAAC,CAAA,WAAA,CAAA;AAAA,MAClC,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAAC,iBAAA,CAAkB,iBAAiB,GAAG,KAAA,EAAO;AAAA,KACtE,EAAE,GAAA,CAAoC,gBAAA,EAAkB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEvE,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAO,IAAA,EAAc,KAAA,EAAe,MAAA,KAAyB;AACtF,IAAA,MAAM,EAAE,IAAA,EAAK,GAAI,MAAM,wBAAA,CAAyB;AAAA,MAC9C,OAAA,EAAS,iBAAiB,IAAI,CAAA;AAAA,MAC9B,OAAA,EAAS,IAAI,OAAA,CAAQ,EAAE,CAAC,iBAAA,CAAkB,oBAAoB,GAAG,KAAA,EAAO;AAAA,KACzE,EAAE,GAAA,CAAuC,uBAAA,EAAyB,EAAC,EAAG,EAAE,QAAQ,CAAA;AAEjF,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,eAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-GNPQB3MT.js","sourcesContent":["import { KeboolaHttpHeader } from '../../constants';\nimport { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { StorageToken } from '../storage/tokens/types';\n\nimport type { ManagementToken } from './types';\n\nexport const createVerifyClient = () => {\n const storageApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: `${normalizeBaseUrl(host)}/v2/storage`,\n headers: new Headers({ [KeboolaHttpHeader.STORAGE_API_TOKEN]: token }),\n }).get<StorageToken, void, void, void>('/tokens/verify', {}, { signal });\n\n return data;\n };\n\n const managementApiToken = async (host: string, token: string, signal?: AbortSignal) => {\n const { data } = await createGenericFetchClient({\n baseUrl: normalizeBaseUrl(host),\n headers: new Headers({ [KeboolaHttpHeader.MANAGEMENT_API_TOKEN]: token }),\n }).get<ManagementToken, void, void, void>('/manage/tokens/verify', {}, { signal });\n\n return data;\n };\n\n return {\n storageApiToken,\n managementApiToken,\n };\n};\n"]}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { createOpenapiFetchClient, normalizeBaseUrl } from './chunk-PD3LJYS2.js';
|
|
2
|
+
|
|
3
|
+
// src/clients/metastore/repository/repository.ts
|
|
4
|
+
var createRepository = (client) => {
|
|
5
|
+
const getMetaObjects = async (input, signal) => {
|
|
6
|
+
const { data } = await client.get(
|
|
7
|
+
"/api/v1/repository/{objectType}",
|
|
8
|
+
{
|
|
9
|
+
path: input
|
|
10
|
+
},
|
|
11
|
+
{ signal }
|
|
12
|
+
);
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
const getMetaObjectRevisions = async (input, signal) => {
|
|
16
|
+
const { data } = await client.get(
|
|
17
|
+
"/api/v1/repository/{objectType}/revisions",
|
|
18
|
+
{
|
|
19
|
+
path: input
|
|
20
|
+
},
|
|
21
|
+
{ signal }
|
|
22
|
+
);
|
|
23
|
+
return data;
|
|
24
|
+
};
|
|
25
|
+
const getMetaObject = async (input, signal) => {
|
|
26
|
+
const { data } = await client.get(
|
|
27
|
+
"/api/v1/repository/{objectType}/{UUID}",
|
|
28
|
+
{
|
|
29
|
+
path: input
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
signal
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
return data;
|
|
36
|
+
};
|
|
37
|
+
const createMetaObject = async ({
|
|
38
|
+
objectType,
|
|
39
|
+
data,
|
|
40
|
+
...body
|
|
41
|
+
}) => {
|
|
42
|
+
const { data: createdMetaObject } = await client.post("/api/v1/repository/{objectType}", {
|
|
43
|
+
path: { objectType },
|
|
44
|
+
body: {
|
|
45
|
+
data,
|
|
46
|
+
...body
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return createdMetaObject;
|
|
50
|
+
};
|
|
51
|
+
const deleteMetaObject = async (input) => {
|
|
52
|
+
const { data } = await client.delete("/api/v1/repository/{objectType}/{UUID}", {
|
|
53
|
+
path: input
|
|
54
|
+
});
|
|
55
|
+
return data;
|
|
56
|
+
};
|
|
57
|
+
const updateMetaObject = async ({
|
|
58
|
+
objectType,
|
|
59
|
+
UUID,
|
|
60
|
+
data,
|
|
61
|
+
...body
|
|
62
|
+
}) => {
|
|
63
|
+
const { data: updatedMetaObject } = await client.patch(
|
|
64
|
+
"/api/v1/repository/{objectType}/{UUID}",
|
|
65
|
+
{
|
|
66
|
+
path: {
|
|
67
|
+
objectType,
|
|
68
|
+
UUID
|
|
69
|
+
},
|
|
70
|
+
body: {
|
|
71
|
+
data,
|
|
72
|
+
...body
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
return updatedMetaObject;
|
|
77
|
+
};
|
|
78
|
+
const replaceMetaObject = async ({
|
|
79
|
+
objectType,
|
|
80
|
+
UUID,
|
|
81
|
+
data,
|
|
82
|
+
...body
|
|
83
|
+
}) => {
|
|
84
|
+
const { data: replacedMetaObject } = await client.put(
|
|
85
|
+
"/api/v1/repository/{objectType}/{UUID}",
|
|
86
|
+
{
|
|
87
|
+
path: {
|
|
88
|
+
objectType,
|
|
89
|
+
UUID
|
|
90
|
+
},
|
|
91
|
+
body: {
|
|
92
|
+
data,
|
|
93
|
+
...body
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
return replacedMetaObject;
|
|
98
|
+
};
|
|
99
|
+
const getMetaObjectRevision = async (input, signal) => {
|
|
100
|
+
const { data } = await client.get(
|
|
101
|
+
"/api/v1/repository/{objectType}/{UUID}/revisions/{revision}",
|
|
102
|
+
{
|
|
103
|
+
path: input
|
|
104
|
+
},
|
|
105
|
+
{ signal }
|
|
106
|
+
);
|
|
107
|
+
return data;
|
|
108
|
+
};
|
|
109
|
+
const deleteMetaObjectRevision = async (input) => {
|
|
110
|
+
const { data } = await client.delete(
|
|
111
|
+
"/api/v1/repository/{objectType}/{UUID}/revisions/{revision}",
|
|
112
|
+
{
|
|
113
|
+
path: input
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
return data;
|
|
117
|
+
};
|
|
118
|
+
return {
|
|
119
|
+
// lists
|
|
120
|
+
getMetaObjects,
|
|
121
|
+
getMetaObjectRevisions,
|
|
122
|
+
// objects
|
|
123
|
+
getMetaObject,
|
|
124
|
+
createMetaObject,
|
|
125
|
+
deleteMetaObject,
|
|
126
|
+
updateMetaObject,
|
|
127
|
+
replaceMetaObject,
|
|
128
|
+
// revisons
|
|
129
|
+
getMetaObjectRevision,
|
|
130
|
+
deleteMetaObjectRevision
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// src/clients/metastore/schema/schema.ts
|
|
135
|
+
var createSchema = (client) => {
|
|
136
|
+
const getSchema = async (input, signal) => {
|
|
137
|
+
const { data } = await client.get(
|
|
138
|
+
"/api/v1/schema/{objectType}",
|
|
139
|
+
{
|
|
140
|
+
path: input
|
|
141
|
+
},
|
|
142
|
+
{ signal }
|
|
143
|
+
);
|
|
144
|
+
return data;
|
|
145
|
+
};
|
|
146
|
+
const getVersionedSchema = async (input, signal) => {
|
|
147
|
+
const { data } = await client.get(
|
|
148
|
+
"/api/v1/schema/{objectType}/{version}",
|
|
149
|
+
{
|
|
150
|
+
path: input
|
|
151
|
+
},
|
|
152
|
+
{ signal }
|
|
153
|
+
);
|
|
154
|
+
return data;
|
|
155
|
+
};
|
|
156
|
+
return {
|
|
157
|
+
getSchema,
|
|
158
|
+
getVersionedSchema
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
// src/clients/metastore/metastoreClient.ts
|
|
163
|
+
var createMetastoreClient = ({ baseUrl, middlewares }) => {
|
|
164
|
+
const client = createOpenapiFetchClient({
|
|
165
|
+
baseUrl: normalizeBaseUrl(baseUrl),
|
|
166
|
+
middlewares
|
|
167
|
+
});
|
|
168
|
+
const healthCheck = async (signal) => {
|
|
169
|
+
const { data } = await client.get("/health-check", {}, { signal });
|
|
170
|
+
return data;
|
|
171
|
+
};
|
|
172
|
+
return {
|
|
173
|
+
healthCheck,
|
|
174
|
+
repository: createRepository(client),
|
|
175
|
+
schema: createSchema(client)
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
export { createMetastoreClient };
|
|
180
|
+
//# sourceMappingURL=chunk-GO6SOMGL.js.map
|
|
181
|
+
//# sourceMappingURL=chunk-GO6SOMGL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/metastore/repository/repository.ts","../src/clients/metastore/schema/schema.ts","../src/clients/metastore/metastoreClient.ts"],"names":[],"mappings":"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","file":"chunk-GO6SOMGL.js","sourcesContent":["import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type {\n CreateMetaObjectInput,\n DeleteMetaObjectPath,\n DeleteMetaObjectRevisionPath,\n GetMetaObjectPath,\n GetMetaObjectRevisionPath,\n GetMetaObjectRevisionsPath,\n GetMetaObjectsPath,\n MetaStoreListResponse,\n MetaStoreObjectResponse,\n ReplaceMetaObjectInput,\n UpdateMetaObjectInput,\n} from './types';\n\nexport const createRepository = (client: MetastoreFetchClient) => {\n const getMetaObjects = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevisions = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionsPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/revisions',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreListResponse<TData, TDataOptional>;\n };\n\n const getMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: input,\n },\n {\n signal,\n },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const createMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n data,\n ...body\n }: CreateMetaObjectInput<TData>) => {\n const { data: createdMetaObject } = await client.post('/api/v1/repository/{objectType}', {\n path: { objectType: objectType },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n });\n\n return createdMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObject = async (input: DeleteMetaObjectPath) => {\n const { data } = await client.delete('/api/v1/repository/{objectType}/{UUID}', {\n path: input,\n });\n\n return data;\n };\n\n const updateMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: UpdateMetaObjectInput<TData>) => {\n const { data: updatedMetaObject } = await client.patch(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return updatedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const replaceMetaObject = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >({\n objectType,\n UUID,\n data,\n ...body\n }: ReplaceMetaObjectInput<TData>) => {\n const { data: replacedMetaObject } = await client.put(\n '/api/v1/repository/{objectType}/{UUID}',\n {\n path: {\n objectType: objectType,\n UUID: UUID,\n },\n body: {\n data: data as Record<string, never>,\n ...body,\n },\n },\n );\n\n return replacedMetaObject as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const getMetaObjectRevision = async <\n TData extends Record<string, unknown>,\n TDataOptional extends boolean = false,\n >(\n input: GetMetaObjectRevisionPath,\n signal?: AbortSignal,\n ) => {\n const { data } = await client.get(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n { signal },\n );\n\n return data as unknown as MetaStoreObjectResponse<TData, TDataOptional>;\n };\n\n const deleteMetaObjectRevision = async (input: DeleteMetaObjectRevisionPath) => {\n const { data } = await client.delete(\n '/api/v1/repository/{objectType}/{UUID}/revisions/{revision}',\n {\n path: input,\n },\n );\n\n return data;\n };\n\n return {\n // lists\n getMetaObjects,\n getMetaObjectRevisions,\n\n // objects\n getMetaObject,\n createMetaObject,\n deleteMetaObject,\n updateMetaObject,\n replaceMetaObject,\n\n // revisons\n getMetaObjectRevision,\n deleteMetaObjectRevision,\n };\n};\n","import type { MetastoreFetchClient } from '../metastoreClient';\n\nimport type { GetSchemaPath, GetVersionedSchemaPath } from './types';\n\nexport const createSchema = (client: MetastoreFetchClient) => {\n const getSchema = async (input: GetSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}',\n {\n path: input,\n },\n { signal },\n );\n return data;\n };\n\n const getVersionedSchema = async (input: GetVersionedSchemaPath, signal?: AbortSignal) => {\n const { data } = await client.get(\n '/api/v1/schema/{objectType}/{version}',\n {\n path: input,\n },\n { signal },\n );\n\n return data;\n };\n\n return {\n getSchema,\n getVersionedSchema,\n };\n};\n","import { createOpenapiFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { paths } from './__generated__/schema';\nimport { createRepository } from './repository';\nimport { createSchema } from './schema';\n\nexport type MetastoreFetchClient = ReturnType<typeof createOpenapiFetchClient<paths>>;\n\nexport const createMetastoreClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createOpenapiFetchClient<paths>({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const healthCheck = async (signal?: AbortSignal) => {\n const { data } = await client.get('/health-check', {}, { signal });\n return data;\n };\n\n return {\n healthCheck,\n repository: createRepository(client),\n schema: createSchema(client),\n };\n};\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkHPVTVQBJ_cjs = require('./chunk-HPVTVQBJ.cjs');
|
|
4
|
+
|
|
5
|
+
// src/clients/encryption/encryptionClient.ts
|
|
6
|
+
var createEncryptionClient = ({ baseUrl, middlewares }) => {
|
|
7
|
+
const client = chunkHPVTVQBJ_cjs.createGenericFetchClient({
|
|
8
|
+
baseUrl: chunkHPVTVQBJ_cjs.normalizeBaseUrl(baseUrl),
|
|
9
|
+
middlewares
|
|
10
|
+
});
|
|
11
|
+
const _encrypt = async (data, signal) => {
|
|
12
|
+
const response = await client.post(
|
|
13
|
+
"/encrypt",
|
|
14
|
+
{
|
|
15
|
+
query: {
|
|
16
|
+
projectId: data.projectId,
|
|
17
|
+
branchType: data.branchType,
|
|
18
|
+
componentId: data.componentId
|
|
19
|
+
},
|
|
20
|
+
body: data.data
|
|
21
|
+
},
|
|
22
|
+
{ signal }
|
|
23
|
+
);
|
|
24
|
+
return response.data;
|
|
25
|
+
};
|
|
26
|
+
const encrypt = (data, signal) => _encrypt(data, signal);
|
|
27
|
+
const encryptSecrets = (data, signal) => _encrypt(data, signal);
|
|
28
|
+
return {
|
|
29
|
+
encryptSecrets,
|
|
30
|
+
encrypt
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports.createEncryptionClient = createEncryptionClient;
|
|
35
|
+
//# sourceMappingURL=chunk-HCNNMUTR.cjs.map
|
|
36
|
+
//# sourceMappingURL=chunk-HCNNMUTR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/clients/encryption/encryptionClient.ts"],"names":["createGenericFetchClient","normalizeBaseUrl"],"mappings":";;;;;AAMO,IAAM,sBAAA,GAAyB,CAAC,EAAE,OAAA,EAAS,aAAY,KAAyB;AACrF,EAAA,MAAM,SAASA,0CAAA,CAAyB;AAAA,IACtC,OAAA,EAASC,mCAAiB,OAAO,CAAA;AAAA,IACjC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,QAAA,GAAW,OACf,IAAA,EACA,MAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,MAAM,MAAA,CAAO,IAAA;AAAA,MAC5B,UAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO;AAAA,UACL,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,YAAY,IAAA,CAAK,UAAA;AAAA,UACjB,aAAa,IAAA,CAAK;AAAA,SACpB;AAAA,QACA,MAAM,IAAA,CAAK;AAAA,OACb;AAAA,MACA,EAAE,MAAA;AAAO,KACX;AAEA,IAAA,OAAO,QAAA,CAAS,IAAA;AAAA,EAClB,CAAA;AAEA,EAAA,MAAM,UAAU,CAAC,IAAA,EAAuC,MAAA,KACtD,QAAA,CAAiB,MAAM,MAAM,CAAA;AAyB/B,EAAA,MAAM,iBAAiB,CACrB,IAAA,EACA,MAAA,KACG,QAAA,CAAY,MAAM,MAAM,CAAA;AAE7B,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA;AAAA,GACF;AACF","file":"chunk-HCNNMUTR.cjs","sourcesContent":["import { createGenericFetchClient } from '../../fetchClient';\nimport { normalizeBaseUrl } from '../../utils/normalizeBaseUrl';\nimport type { ClientInitOptions } from '../types';\n\nimport type { EncryptBody, EncryptQuery } from './types';\n\nexport const createEncryptionClient = ({ baseUrl, middlewares }: ClientInitOptions) => {\n const client = createGenericFetchClient({\n baseUrl: normalizeBaseUrl(baseUrl),\n middlewares,\n });\n\n const _encrypt = async <T extends string | Record<string, unknown>>(\n data: EncryptQuery & { data: EncryptBody },\n signal?: AbortSignal,\n ) => {\n const response = await client.post<T, void, EncryptQuery, EncryptBody>(\n '/encrypt',\n {\n query: {\n projectId: data.projectId,\n branchType: data.branchType,\n componentId: data.componentId,\n },\n body: data.data,\n },\n { signal },\n );\n\n return response.data;\n };\n\n const encrypt = (data: EncryptQuery & { data: string }, signal?: AbortSignal) =>\n _encrypt<string>(data, signal);\n\n /**\n * A function that encrypts a given data object using\n * Secret is an attribute prefixed with `#`.\n *\n * @example\n * Input data:\n * {\n * \"name\": \"test\",\n * \"#secret\": \"sensitive-value\",\n * \"nested\": {\n * \"#password\": \"abc123\"\n * }\n *\n * Return:\n * {\n * \"name\": \"test\",\n * \"#secret\": \"KBC:ioeiuropqweurioewu==\",\n * \"nested\": {\n * \"#password\": \"KBC:ioeiuropqweurioewu==\"\n * }\n *\n * @returns A promise resolving to the given data object with encrypted secrets.\n */\n const encryptSecrets = <T extends Record<string, unknown>>(\n data: EncryptQuery & { data: T },\n signal?: AbortSignal,\n ) => _encrypt<T>(data, signal);\n\n return {\n encryptSecrets,\n encrypt,\n };\n};\n"]}
|
|
@@ -0,0 +1,238 @@
|
|
|
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/constants.ts
|
|
23
|
+
var KeboolaHttpHeader = {
|
|
24
|
+
STORAGE_API_TOKEN: "X-StorageApi-Token",
|
|
25
|
+
MANAGEMENT_API_TOKEN: "X-Kbc-Manageapitoken",
|
|
26
|
+
STORAGE_API_URL: "x-storageapi-url"
|
|
27
|
+
};
|
|
28
|
+
var HttpStatus = {
|
|
29
|
+
NO_CONTENT: 204,
|
|
30
|
+
BAD_REQUEST: 400,
|
|
31
|
+
UNPROCESSABLE_ENTITY: 422,
|
|
32
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
33
|
+
BAD_GATEWAY: 502,
|
|
34
|
+
SERVICE_UNAVAILABLE: 503,
|
|
35
|
+
GATEWAY_TIMEOUT: 504
|
|
36
|
+
};
|
|
37
|
+
var ENCRYPTED_VALUE_PREFIX = "KBC::";
|
|
38
|
+
var HttpHeader = {
|
|
39
|
+
CONTENT_TYPE: "content-type",
|
|
40
|
+
CONTENT_DISPOSITION: "content-disposition"
|
|
41
|
+
};
|
|
42
|
+
var HttpContentType = {
|
|
43
|
+
JSON: "application/json",
|
|
44
|
+
TEXT_PLAIN: "text/plain",
|
|
45
|
+
FORM_DATA: "multipart/form-data",
|
|
46
|
+
TEXT_HTML: "text/html"
|
|
47
|
+
};
|
|
48
|
+
var defaultValidateStatus = ({ response }) => response.status >= 200 && response.status <= 299;
|
|
49
|
+
function removeUndefined(obj) {
|
|
50
|
+
const objCopy = { ...obj };
|
|
51
|
+
for (const [key, value] of Object.entries(objCopy)) {
|
|
52
|
+
if (value == null) delete objCopy[key];
|
|
53
|
+
}
|
|
54
|
+
return objCopy;
|
|
55
|
+
}
|
|
56
|
+
var parseData = async (response) => {
|
|
57
|
+
if (response.status === HttpStatus.NO_CONTENT) return null;
|
|
58
|
+
const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);
|
|
59
|
+
if (contentType && contentType == HttpContentType.JSON) {
|
|
60
|
+
return response.json();
|
|
61
|
+
}
|
|
62
|
+
const text = await response.text();
|
|
63
|
+
try {
|
|
64
|
+
return JSON.parse(text);
|
|
65
|
+
} catch {
|
|
66
|
+
return text;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var cleanHeadersInit = (headersInit) => {
|
|
70
|
+
if (Array.isArray(headersInit)) return headersInit;
|
|
71
|
+
if (headersInit instanceof Headers) return headersInit;
|
|
72
|
+
if (headersInit == null) return headersInit;
|
|
73
|
+
return removeUndefined(headersInit);
|
|
74
|
+
};
|
|
75
|
+
var createHeaders = (headersInitA, headersInitB) => {
|
|
76
|
+
const headersA = new Headers(cleanHeadersInit(headersInitA));
|
|
77
|
+
const headersB = new Headers(cleanHeadersInit(headersInitB));
|
|
78
|
+
headersB.forEach((value, key) => {
|
|
79
|
+
headersA.set(key, value);
|
|
80
|
+
});
|
|
81
|
+
return headersA;
|
|
82
|
+
};
|
|
83
|
+
var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
|
|
84
|
+
if (!(key in pathParam))
|
|
85
|
+
throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
|
|
86
|
+
return encodeURIComponent(pathParam[key]);
|
|
87
|
+
});
|
|
88
|
+
var createSearch = (query, options = {}) => {
|
|
89
|
+
return qs__default.default.stringify(query, {
|
|
90
|
+
encodeValuesOnly: true,
|
|
91
|
+
skipNulls: true,
|
|
92
|
+
...options
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
var createBody = (body, headers) => {
|
|
96
|
+
if (body == null) return null;
|
|
97
|
+
if (body instanceof FormData) return body;
|
|
98
|
+
if (typeof body === "string") return body;
|
|
99
|
+
const stringifyBody = JSON.stringify(body);
|
|
100
|
+
const stringBody = stringifyBody === "{}" ? null : stringifyBody;
|
|
101
|
+
if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
|
|
102
|
+
return stringBody;
|
|
103
|
+
};
|
|
104
|
+
var parseContentDispositionHeader = (contentDisposition) => {
|
|
105
|
+
const type = (() => {
|
|
106
|
+
const typeMatch = contentDisposition?.match(/^\s*(inline|attachment)\s*;/i);
|
|
107
|
+
return typeMatch?.[1]?.toLowerCase() ?? "unknown";
|
|
108
|
+
})();
|
|
109
|
+
const filename = (() => {
|
|
110
|
+
const filenameMatch = contentDisposition?.match(/filename="([^"]+)"/i);
|
|
111
|
+
if (filenameMatch) return filenameMatch[1];
|
|
112
|
+
const encodedFilenameMatch = contentDisposition?.match(/filename\*=(?:UTF-8'')?([^;]+)/i);
|
|
113
|
+
if (encodedFilenameMatch?.[1]) return decodeURIComponent(encodedFilenameMatch[1]);
|
|
114
|
+
const unquotedFilenameMatch = contentDisposition?.match(/filename=([^;]+)/i);
|
|
115
|
+
return unquotedFilenameMatch?.[1] ?? null;
|
|
116
|
+
})();
|
|
117
|
+
return { type, filename };
|
|
118
|
+
};
|
|
119
|
+
var createFetchRequest = ({
|
|
120
|
+
url,
|
|
121
|
+
method,
|
|
122
|
+
params,
|
|
123
|
+
options = {},
|
|
124
|
+
defaultOptions
|
|
125
|
+
}) => {
|
|
126
|
+
const {
|
|
127
|
+
baseUrl,
|
|
128
|
+
validateStatus: defValidateStatus = defaultValidateStatus,
|
|
129
|
+
headers: defaultHeaders,
|
|
130
|
+
...restDefaultOptions
|
|
131
|
+
} = defaultOptions;
|
|
132
|
+
const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
|
|
133
|
+
const headers = createHeaders(defaultHeaders, endpointHeaders);
|
|
134
|
+
const path = createPath(url, params.path);
|
|
135
|
+
const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
|
|
136
|
+
const body = createBody(params.body, headers);
|
|
137
|
+
const urlInstance = new URL(baseUrl + path);
|
|
138
|
+
urlInstance.search = search;
|
|
139
|
+
const request = new Request(urlInstance, {
|
|
140
|
+
...restDefaultOptions,
|
|
141
|
+
...restOptions,
|
|
142
|
+
headers,
|
|
143
|
+
method: method.toUpperCase(),
|
|
144
|
+
body
|
|
145
|
+
});
|
|
146
|
+
return { request, validateStatus: validateStatus ?? defValidateStatus };
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
// src/fetchClient/createFetchClient/createFetchClient.ts
|
|
150
|
+
var isApiError = (error) => error instanceof ApiError;
|
|
151
|
+
var isAbortError = (error) => error instanceof DOMException && error.name === "AbortError";
|
|
152
|
+
var isFetchClientError = (error) => error instanceof TypeError || error instanceof SyntaxError || isApiError(error);
|
|
153
|
+
var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
|
|
154
|
+
const response = await fetchFn(request);
|
|
155
|
+
const data = await parseData(response);
|
|
156
|
+
const apiResponse = {
|
|
157
|
+
request,
|
|
158
|
+
response,
|
|
159
|
+
data
|
|
160
|
+
};
|
|
161
|
+
const boolOrError = validateStatus(apiResponse);
|
|
162
|
+
if (isApiError(boolOrError)) throw boolOrError;
|
|
163
|
+
if (!boolOrError) throw new ApiError(apiResponse);
|
|
164
|
+
return apiResponse;
|
|
165
|
+
};
|
|
166
|
+
var createFetchClient = ({
|
|
167
|
+
middlewares = [],
|
|
168
|
+
...defaultOptions
|
|
169
|
+
}) => {
|
|
170
|
+
const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
|
|
171
|
+
const fetchWithMiddlewares = middlewares.reduceRight(
|
|
172
|
+
(next, middleware) => middleware(next),
|
|
173
|
+
coreFetch
|
|
174
|
+
);
|
|
175
|
+
const createFetchMethod = (method) => async (url, params, options = {}) => {
|
|
176
|
+
const request = createFetchRequest({
|
|
177
|
+
url,
|
|
178
|
+
method,
|
|
179
|
+
params,
|
|
180
|
+
defaultOptions,
|
|
181
|
+
options
|
|
182
|
+
});
|
|
183
|
+
const methodMiddlewares = options?.middlewares ?? [];
|
|
184
|
+
return methodMiddlewares.reduceRight(
|
|
185
|
+
(next, middleware) => middleware(next),
|
|
186
|
+
fetchWithMiddlewares
|
|
187
|
+
)(request);
|
|
188
|
+
};
|
|
189
|
+
return {
|
|
190
|
+
get: createFetchMethod("get"),
|
|
191
|
+
post: createFetchMethod("post"),
|
|
192
|
+
put: createFetchMethod("put"),
|
|
193
|
+
patch: createFetchMethod("patch"),
|
|
194
|
+
delete: createFetchMethod("delete")
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
// src/fetchClient/createFetchClient/middlewares.ts
|
|
199
|
+
var createCallbackMiddleware = ({ onError, onSettled, onSuccess } = {}) => (next) => async (request) => {
|
|
200
|
+
let response;
|
|
201
|
+
try {
|
|
202
|
+
response = await next(request);
|
|
203
|
+
onSuccess?.();
|
|
204
|
+
} catch (error) {
|
|
205
|
+
onError?.(error);
|
|
206
|
+
throw error;
|
|
207
|
+
} finally {
|
|
208
|
+
onSettled?.();
|
|
209
|
+
}
|
|
210
|
+
return response;
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
// src/fetchClient/createGenericFetchClient.ts
|
|
214
|
+
var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
215
|
+
|
|
216
|
+
// src/fetchClient/createOpenapiFetchClient.ts
|
|
217
|
+
var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
|
|
218
|
+
|
|
219
|
+
// src/utils/normalizeBaseUrl.ts
|
|
220
|
+
var normalizeBaseUrl = (baseUrl) => baseUrl.replace(/\/+$/, "");
|
|
221
|
+
|
|
222
|
+
exports.ApiError = ApiError;
|
|
223
|
+
exports.ENCRYPTED_VALUE_PREFIX = ENCRYPTED_VALUE_PREFIX;
|
|
224
|
+
exports.HttpContentType = HttpContentType;
|
|
225
|
+
exports.HttpHeader = HttpHeader;
|
|
226
|
+
exports.HttpStatus = HttpStatus;
|
|
227
|
+
exports.KeboolaHttpHeader = KeboolaHttpHeader;
|
|
228
|
+
exports.createCallbackMiddleware = createCallbackMiddleware;
|
|
229
|
+
exports.createGenericFetchClient = createGenericFetchClient;
|
|
230
|
+
exports.createOpenapiFetchClient = createOpenapiFetchClient;
|
|
231
|
+
exports.defaultValidateStatus = defaultValidateStatus;
|
|
232
|
+
exports.isAbortError = isAbortError;
|
|
233
|
+
exports.isApiError = isApiError;
|
|
234
|
+
exports.isFetchClientError = isFetchClientError;
|
|
235
|
+
exports.normalizeBaseUrl = normalizeBaseUrl;
|
|
236
|
+
exports.parseContentDispositionHeader = parseContentDispositionHeader;
|
|
237
|
+
//# sourceMappingURL=chunk-HPVTVQBJ.cjs.map
|
|
238
|
+
//# sourceMappingURL=chunk-HPVTVQBJ.cjs.map
|