@azure/api-management-custom-widgets-tools 1.0.0-beta.1 → 1.0.0-beta.3
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 +17 -17
- package/README.md +3 -3
- package/dist/browser/index.d.ts +10 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/index.js +4 -4
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/node/CustomWidgetBlobService.d.ts +27 -0
- package/dist/browser/node/CustomWidgetBlobService.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/node/CustomWidgetBlobService.js +10 -17
- package/dist/browser/node/CustomWidgetBlobService.js.map +1 -0
- package/dist/browser/node/deploy-browser.d.mts.map +1 -0
- package/dist/browser/node/deploy-browser.mjs.map +1 -0
- package/dist/browser/node/deploy.d.ts +3 -0
- package/dist/browser/node/deploy.js +7 -0
- package/dist/browser/node/getStorageSasUrl.d.ts +10 -0
- package/dist/browser/node/getStorageSasUrl.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/node/getStorageSasUrl.js +8 -8
- package/dist/browser/node/getStorageSasUrl.js.map +1 -0
- package/dist/browser/node/readdir-browser.d.mts.map +1 -0
- package/dist/browser/node/readdir-browser.mjs.map +1 -0
- package/dist/browser/node/readdir.d.ts +3 -0
- package/dist/browser/node/readdir.js +7 -0
- package/dist/browser/node/types.d.ts +24 -0
- package/dist/browser/node/types.d.ts.map +1 -0
- package/dist/browser/node/types.js +4 -0
- package/dist/browser/node/types.js.map +1 -0
- package/dist/browser/package.json +3 -0
- package/dist/browser/paths.d.ts +21 -0
- package/dist/browser/paths.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/paths.js +1 -1
- package/{dist-esm/src → dist/browser}/paths.js.map +1 -1
- package/{types/latest/api-management-custom-widgets-tools.d.ts → dist/browser/utils.d.ts} +98 -154
- package/dist/browser/utils.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/utils.js +4 -5
- package/dist/browser/utils.js.map +1 -0
- package/dist/commonjs/index.d.ts +10 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +29 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/node/CustomWidgetBlobService.d.ts +27 -0
- package/dist/commonjs/node/CustomWidgetBlobService.d.ts.map +1 -0
- package/dist/commonjs/node/CustomWidgetBlobService.js +68 -0
- package/dist/commonjs/node/CustomWidgetBlobService.js.map +1 -0
- package/dist/commonjs/node/deploy.d.ts +12 -0
- package/dist/commonjs/node/deploy.d.ts.map +1 -0
- package/dist/commonjs/node/deploy.js +59 -0
- package/dist/commonjs/node/deploy.js.map +1 -0
- package/dist/commonjs/node/getStorageSasUrl.d.ts +10 -0
- package/dist/commonjs/node/getStorageSasUrl.d.ts.map +1 -0
- package/dist/commonjs/node/getStorageSasUrl.js +35 -0
- package/dist/commonjs/node/getStorageSasUrl.js.map +1 -0
- package/dist/commonjs/node/readdir.d.ts +3 -0
- package/dist/commonjs/node/readdir.d.ts.map +1 -0
- package/dist/commonjs/node/readdir.js +22 -0
- package/dist/commonjs/node/readdir.js.map +1 -0
- package/dist/commonjs/node/types.d.ts +24 -0
- package/dist/commonjs/node/types.d.ts.map +1 -0
- package/dist/commonjs/node/types.js +5 -0
- package/dist/commonjs/node/types.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/paths.d.ts +21 -0
- package/dist/commonjs/paths.d.ts.map +1 -0
- package/dist/commonjs/paths.js +32 -0
- package/dist/commonjs/paths.js.map +1 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/utils.d.ts +98 -0
- package/dist/commonjs/utils.d.ts.map +1 -0
- package/dist/commonjs/utils.js +134 -0
- package/dist/commonjs/utils.js.map +1 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node/CustomWidgetBlobService.d.ts +27 -0
- package/dist/esm/node/CustomWidgetBlobService.d.ts.map +1 -0
- package/dist/esm/node/CustomWidgetBlobService.js +64 -0
- package/dist/esm/node/CustomWidgetBlobService.js.map +1 -0
- package/dist/esm/node/deploy.d.ts +12 -0
- package/dist/esm/node/deploy.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/node/deploy.js +9 -9
- package/dist/esm/node/deploy.js.map +1 -0
- package/dist/esm/node/getStorageSasUrl.d.ts +10 -0
- package/dist/esm/node/getStorageSasUrl.d.ts.map +1 -0
- package/dist/esm/node/getStorageSasUrl.js +33 -0
- package/dist/esm/node/getStorageSasUrl.js.map +1 -0
- package/dist/esm/node/readdir.d.ts +3 -0
- package/dist/esm/node/readdir.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/node/readdir.js +3 -3
- package/dist/esm/node/readdir.js.map +1 -0
- package/dist/esm/node/types.d.ts +24 -0
- package/dist/esm/node/types.d.ts.map +1 -0
- package/dist/esm/node/types.js +4 -0
- package/dist/esm/node/types.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/paths.d.ts +21 -0
- package/dist/esm/paths.d.ts.map +1 -0
- package/dist/esm/paths.js +27 -0
- package/dist/esm/paths.js.map +1 -0
- package/dist/esm/utils.d.ts +98 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +122 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +70 -85
- package/dist/index.js +0 -344
- package/dist/index.js.map +0 -1
- package/dist-esm/src/index.js.map +0 -1
- package/dist-esm/src/node/CustomWidgetBlobService.js.map +0 -1
- package/dist-esm/src/node/deploy.browser.js +0 -7
- package/dist-esm/src/node/deploy.browser.js.map +0 -1
- package/dist-esm/src/node/deploy.js.map +0 -1
- package/dist-esm/src/node/getStorageSasUrl.js.map +0 -1
- package/dist-esm/src/node/readdir.js.map +0 -1
- package/dist-esm/src/utils.js.map +0 -1
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
Copyright (c) Microsoft Corporation.
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MIT License
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ the [official Azure documentation](https://aka.ms/apimdocs/portal/customwidgets)
|
|
|
12
12
|
|
|
13
13
|
### Currently supported environments
|
|
14
14
|
|
|
15
|
-
- [LTS versions of Node.js](https://
|
|
15
|
+
- [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule)
|
|
16
16
|
- Latest versions of Safari, Chrome, Edge, and Firefox
|
|
17
17
|
|
|
18
18
|
### Prerequisites
|
|
@@ -38,8 +38,8 @@ If you'd like to contribute to this library, please read the [contributing guide
|
|
|
38
38
|
|
|
39
39
|
To execute the tests you'll need to run:
|
|
40
40
|
|
|
41
|
-
1. `
|
|
42
|
-
2. `
|
|
41
|
+
1. `pnpm install`
|
|
42
|
+
2. `pnpm build --filter @azure/api-management-custom-widgets-tools...`
|
|
43
43
|
3. `cd sdk\apimanagement\api-management-custom-widgets-tools`
|
|
44
44
|
4. `npm run test`
|
|
45
45
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation https://aka.ms/apimdocs/portal/customwidgets
|
|
3
|
+
*/
|
|
4
|
+
export { APIM_EDITOR_DATA_KEY, APIM_ON_CHANGE_MESSAGE_KEY, APIM_ASK_FOR_SECRETS_MESSAGE_KEY, getWidgetData, getEditorValues, getValues, askForSecrets, buildOnChange, onChangeWithOrigin, } from "./utils.js";
|
|
5
|
+
export type { PortalData, EditorData, OnChange, Secrets, TargetModule, ValuesCommon, Environment, } from "./utils.js";
|
|
6
|
+
export { BLOB_ROOT, APIM_CONFIG_FILE_NAME, BLOB_DATA_FOLDER, BLOB_CONFIGS_FOLDER, buildBlobDataPath, buildBlobConfigPath, } from "./paths.js";
|
|
7
|
+
import deployNodeJS from "./node/deploy.js";
|
|
8
|
+
export { deployNodeJS };
|
|
9
|
+
export type { ServiceInformation, DeployConfig } from "./node/types.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
3
|
/**
|
|
4
4
|
* @packageDocumentation https://aka.ms/apimdocs/portal/customwidgets
|
|
5
5
|
*/
|
|
6
|
-
export { APIM_EDITOR_DATA_KEY, APIM_ON_CHANGE_MESSAGE_KEY, APIM_ASK_FOR_SECRETS_MESSAGE_KEY, getWidgetData, getEditorValues, getValues, askForSecrets, buildOnChange, onChangeWithOrigin, } from "./utils";
|
|
7
|
-
export { BLOB_ROOT, APIM_CONFIG_FILE_NAME, BLOB_DATA_FOLDER, BLOB_CONFIGS_FOLDER, buildBlobDataPath, buildBlobConfigPath, } from "./paths";
|
|
8
|
-
import deployNodeJS from "./node/deploy";
|
|
6
|
+
export { APIM_EDITOR_DATA_KEY, APIM_ON_CHANGE_MESSAGE_KEY, APIM_ASK_FOR_SECRETS_MESSAGE_KEY, getWidgetData, getEditorValues, getValues, askForSecrets, buildOnChange, onChangeWithOrigin, } from "./utils.js";
|
|
7
|
+
export { BLOB_ROOT, APIM_CONFIG_FILE_NAME, BLOB_DATA_FOLDER, BLOB_CONFIGS_FOLDER, buildBlobDataPath, buildBlobConfigPath, } from "./paths.js";
|
|
8
|
+
import deployNodeJS from "./node/deploy.js";
|
|
9
9
|
export { deployNodeJS };
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAUpB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * @packageDocumentation https://aka.ms/apimdocs/portal/customwidgets\n */\n\nexport {\n APIM_EDITOR_DATA_KEY,\n APIM_ON_CHANGE_MESSAGE_KEY,\n APIM_ASK_FOR_SECRETS_MESSAGE_KEY,\n getWidgetData,\n getEditorValues,\n getValues,\n askForSecrets,\n buildOnChange,\n onChangeWithOrigin,\n} from \"./utils.js\";\nexport type {\n PortalData,\n EditorData,\n OnChange,\n Secrets,\n TargetModule,\n ValuesCommon,\n Environment,\n} from \"./utils.js\";\nexport {\n BLOB_ROOT,\n APIM_CONFIG_FILE_NAME,\n BLOB_DATA_FOLDER,\n BLOB_CONFIGS_FOLDER,\n buildBlobDataPath,\n buildBlobConfigPath,\n} from \"./paths.js\";\n\nimport deployNodeJS from \"./node/deploy.js\";\nexport { deployNodeJS };\nexport type { ServiceInformation, DeployConfig } from \"./node/types.js\";\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { BlockBlobUploadResponse } from "@azure/storage-blob";
|
|
2
|
+
export type Config = Record<string, unknown>;
|
|
3
|
+
/**
|
|
4
|
+
* A service wrapping ContainerClient class to simplify blob handling
|
|
5
|
+
*/
|
|
6
|
+
export declare class CustomWidgetBlobService {
|
|
7
|
+
readonly containerClient: import("@azure/storage-blob").ContainerClient;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly pathWidget: string;
|
|
10
|
+
readonly pathConfig: string;
|
|
11
|
+
/**
|
|
12
|
+
* @param blobStorageUrl - blob storage SAS URL
|
|
13
|
+
* @param name - name of the custom widget to be taken care of
|
|
14
|
+
*/
|
|
15
|
+
constructor(blobStorageUrl: string, name: string);
|
|
16
|
+
private extractFileName;
|
|
17
|
+
blobUpload(absolutePath: string, content: Buffer): Promise<BlockBlobUploadResponse>;
|
|
18
|
+
jsonUpload(absolutePath: string, json: Record<string, unknown>): Promise<BlockBlobUploadResponse>;
|
|
19
|
+
blobDownload(absolutePath: string): Promise<Buffer>;
|
|
20
|
+
dirDelete(absolutePath: string): Promise<void>;
|
|
21
|
+
uploadWidgetDataFile(file: string, content: Buffer): Promise<BlockBlobUploadResponse>;
|
|
22
|
+
cleanDataDir(): Promise<void>;
|
|
23
|
+
getConfig(): Promise<Config>;
|
|
24
|
+
uploadConfig(config: Config): Promise<BlockBlobUploadResponse>;
|
|
25
|
+
}
|
|
26
|
+
export default CustomWidgetBlobService;
|
|
27
|
+
//# sourceMappingURL=CustomWidgetBlobService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomWidgetBlobService.d.ts","sourceRoot":"","sources":["../../../src/node/CustomWidgetBlobService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAInE,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C;;GAEG;AACH,qBAAa,uBAAuB;IAClC,QAAQ,CAAC,eAAe,gDAAC;IACzB,QAAQ,CAAC,IAAI,SAAC;IACd,QAAQ,CAAC,UAAU,SAAC;IACpB,QAAQ,CAAC,UAAU,SAAC;IAEpB;;;OAGG;gBACS,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAShD,OAAO,CAAC,eAAe;IAIjB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAUnF,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IAI7B,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrF,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAGrE;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
import { __asyncValues } from "tslib";
|
|
2
|
+
// Licensed under the MIT License.
|
|
4
3
|
import { BlobServiceClient } from "@azure/storage-blob";
|
|
5
|
-
import { buildBlobConfigPath, buildBlobDataPath } from "../paths";
|
|
6
|
-
import mime from "mime";
|
|
4
|
+
import { buildBlobConfigPath, buildBlobDataPath } from "../paths.js";
|
|
7
5
|
/**
|
|
8
6
|
* A service wrapping ContainerClient class to simplify blob handling
|
|
9
7
|
*/
|
|
10
8
|
export class CustomWidgetBlobService {
|
|
9
|
+
containerClient;
|
|
10
|
+
name;
|
|
11
|
+
pathWidget;
|
|
12
|
+
pathConfig;
|
|
11
13
|
/**
|
|
12
14
|
* @param blobStorageUrl - blob storage SAS URL
|
|
13
15
|
* @param name - name of the custom widget to be taken care of
|
|
@@ -24,6 +26,8 @@ export class CustomWidgetBlobService {
|
|
|
24
26
|
return path.split("/").pop();
|
|
25
27
|
}
|
|
26
28
|
async blobUpload(absolutePath, content) {
|
|
29
|
+
const mimeImport = await import("mime");
|
|
30
|
+
const mime = mimeImport.default;
|
|
27
31
|
const fileName = this.extractFileName(absolutePath);
|
|
28
32
|
if (!fileName)
|
|
29
33
|
throw new Error("a fileName was not found in the absolutePath");
|
|
@@ -38,19 +42,8 @@ export class CustomWidgetBlobService {
|
|
|
38
42
|
return this.containerClient.getBlockBlobClient(absolutePath).downloadToBuffer();
|
|
39
43
|
}
|
|
40
44
|
async dirDelete(absolutePath) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (var _b = __asyncValues(await this.containerClient.listBlobsFlat({ prefix: absolutePath })), _c; _c = await _b.next(), !_c.done;) {
|
|
44
|
-
const blob = _c.value;
|
|
45
|
-
await this.containerClient.deleteBlob(blob.name);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
49
|
-
finally {
|
|
50
|
-
try {
|
|
51
|
-
if (_c && !_c.done && (_a = _b.return)) await _a.call(_b);
|
|
52
|
-
}
|
|
53
|
-
finally { if (e_1) throw e_1.error; }
|
|
45
|
+
for await (const blob of await this.containerClient.listBlobsFlat({ prefix: absolutePath })) {
|
|
46
|
+
await this.containerClient.deleteBlob(blob.name);
|
|
54
47
|
}
|
|
55
48
|
}
|
|
56
49
|
async uploadWidgetDataFile(file, content) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomWidgetBlobService.js","sourceRoot":"","sources":["../../../src/node/CustomWidgetBlobService.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BlockBlobUploadResponse } from \"@azure/storage-blob\";\nimport { BlobServiceClient } from \"@azure/storage-blob\";\nimport { buildBlobConfigPath, buildBlobDataPath } from \"../paths.js\";\n\nexport type Config = Record<string, unknown>;\n\n/**\n * A service wrapping ContainerClient class to simplify blob handling\n */\nexport class CustomWidgetBlobService {\n readonly containerClient;\n readonly name;\n readonly pathWidget;\n readonly pathConfig;\n\n /**\n * @param blobStorageUrl - blob storage SAS URL\n * @param name - name of the custom widget to be taken care of\n */\n constructor(blobStorageUrl: string, name: string) {\n const container = \"content\";\n const blobServiceClient = new BlobServiceClient(blobStorageUrl.replace(`/${container}`, \"\"));\n this.containerClient = blobServiceClient.getContainerClient(container);\n this.name = name;\n this.pathWidget = buildBlobDataPath(name);\n this.pathConfig = buildBlobConfigPath(name);\n }\n\n private extractFileName(path: string): string | undefined {\n return path.split(\"/\").pop();\n }\n\n async blobUpload(absolutePath: string, content: Buffer): Promise<BlockBlobUploadResponse> {\n const mimeImport = await import(\"mime\");\n const mime = mimeImport.default;\n const fileName = this.extractFileName(absolutePath);\n if (!fileName) throw new Error(\"a fileName was not found in the absolutePath\");\n return this.containerClient.getBlockBlobClient(absolutePath).upload(content, content.length, {\n blobHTTPHeaders: { blobContentType: mime.getType(fileName) || \"application/octet-stream\" },\n });\n }\n\n async jsonUpload(\n absolutePath: string,\n json: Record<string, unknown>,\n ): Promise<BlockBlobUploadResponse> {\n return this.blobUpload(absolutePath, Buffer.from(JSON.stringify(json)));\n }\n\n async blobDownload(absolutePath: string): Promise<Buffer> {\n return this.containerClient.getBlockBlobClient(absolutePath).downloadToBuffer();\n }\n\n async dirDelete(absolutePath: string): Promise<void> {\n for await (const blob of await this.containerClient.listBlobsFlat({ prefix: absolutePath })) {\n await this.containerClient.deleteBlob(blob.name);\n }\n }\n\n async uploadWidgetDataFile(file: string, content: Buffer): Promise<BlockBlobUploadResponse> {\n return this.blobUpload(this.pathWidget + file, content);\n }\n\n async cleanDataDir(): Promise<void> {\n return this.dirDelete(this.pathWidget);\n }\n\n async getConfig(): Promise<Config> {\n const buffer = await this.blobDownload(this.pathConfig);\n return JSON.parse(buffer.toString());\n }\n\n async uploadConfig(config: Config): Promise<BlockBlobUploadResponse> {\n return this.jsonUpload(this.pathConfig, config);\n }\n}\n\nexport default CustomWidgetBlobService;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-browser.d.mts","sourceRoot":"","sources":["../../../src/node/deploy-browser.mts"],"names":[],"mappings":"AAGA,iBAAe,MAAM,CACnB,mBAAmB,EAAE,OAAO,EAC5B,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-browser.mjs","sourceRoot":"","sources":["../../../src/node/deploy-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,KAAK,UAAU,MAAM,CACnB,mBAA4B,EAC5B,KAAa,EACb,mBAA2B;IAE3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAC/D,CAAC;AAED,eAAe,MAAM,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nasync function deploy(\n _serviceInformation: unknown,\n _name: string,\n _fallbackConfigPath: string,\n): Promise<void> {\n throw new Error(\"Not supported in the browser environment.\");\n}\n\nexport default deploy;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
async function deploy(_serviceInformation, _name, _fallbackConfigPath) {
|
|
4
|
+
throw new Error("Not supported in the browser environment.");
|
|
5
|
+
}
|
|
6
|
+
export default deploy;
|
|
7
|
+
//# sourceMappingURL=deploy-browser.mjs.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type InteractiveBrowserCredentialNodeOptions as IBCNOptions } from "@azure/identity";
|
|
2
|
+
import type { ServiceInformation } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Function to get storage SAS URL.
|
|
5
|
+
*
|
|
6
|
+
* @returns storage SAS URL
|
|
7
|
+
*/
|
|
8
|
+
declare function getStorageSasUrl({ managementApiEndpoint, resourceId, apiVersion, tokenOverride, }: ServiceInformation, interactiveBrowserCredentialOptions?: IBCNOptions): Promise<string>;
|
|
9
|
+
export default getStorageSasUrl;
|
|
10
|
+
//# sourceMappingURL=getStorageSasUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStorageSasUrl.d.ts","sourceRoot":"","sources":["../../../src/node/getStorageSasUrl.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,uCAAuC,IAAI,WAAW,EAC5D,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAarD;;;;GAIG;AACH,iBAAe,gBAAgB,CAC7B,EACE,qBAAqB,EACrB,UAAU,EACV,UAAyB,EACzB,aAAa,GACd,EAAE,kBAAkB,EACrB,mCAAmC,CAAC,EAAE,WAAW,GAChD,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
|
-
// Licensed under the MIT
|
|
3
|
-
import { InteractiveBrowserCredential } from "@azure/identity";
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { InteractiveBrowserCredential, } from "@azure/identity";
|
|
4
4
|
import { getClient } from "@azure-rest/core-client";
|
|
5
|
-
async function getAccessToken(managementApiEndpoint) {
|
|
6
|
-
const credentials = new InteractiveBrowserCredential();
|
|
5
|
+
async function getAccessToken(managementApiEndpoint, options = {}) {
|
|
6
|
+
const credentials = new InteractiveBrowserCredential(options);
|
|
7
7
|
const scope = `${managementApiEndpoint}/user_impersonation`;
|
|
8
8
|
const { token } = await credentials.getToken(scope);
|
|
9
9
|
return `Bearer ${token}`;
|
|
@@ -13,8 +13,7 @@ async function getAccessToken(managementApiEndpoint) {
|
|
|
13
13
|
*
|
|
14
14
|
* @returns storage SAS URL
|
|
15
15
|
*/
|
|
16
|
-
async function getStorageSasUrl({ managementApiEndpoint, resourceId, apiVersion = "2019-01-01", tokenOverride, }) {
|
|
17
|
-
var _a;
|
|
16
|
+
async function getStorageSasUrl({ managementApiEndpoint, resourceId, apiVersion = "2019-01-01", tokenOverride, }, interactiveBrowserCredentialOptions) {
|
|
18
17
|
const httpClient = getClient(`${managementApiEndpoint}/${resourceId}`, { apiVersion });
|
|
19
18
|
const response = await httpClient
|
|
20
19
|
.pathUnchecked(`/portalSettings/mediaContent/listSecrets?apiVersion=${apiVersion}`) // TODO
|
|
@@ -22,10 +21,11 @@ async function getStorageSasUrl({ managementApiEndpoint, resourceId, apiVersion
|
|
|
22
21
|
headers: {
|
|
23
22
|
"If-Match": "*",
|
|
24
23
|
"Content-Type": "application/json",
|
|
25
|
-
Authorization: tokenOverride
|
|
24
|
+
Authorization: tokenOverride ??
|
|
25
|
+
(await getAccessToken(managementApiEndpoint, interactiveBrowserCredentialOptions)),
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
|
-
if (!
|
|
28
|
+
if (!response?.body?.containerSasUrl)
|
|
29
29
|
throw new Error("Could not get storage SAS URL");
|
|
30
30
|
return response.body.containerSasUrl;
|
|
31
31
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStorageSasUrl.js","sourceRoot":"","sources":["../../../src/node/getStorageSasUrl.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,4BAA4B,GAE7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,KAAK,UAAU,cAAc,CAC3B,qBAA6B,EAC7B,UAAuB,EAAE;IAEzB,MAAM,WAAW,GAAG,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,GAAG,qBAAqB,qBAAqB,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,UAAU,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,EACE,qBAAqB,EACrB,UAAU,EACV,UAAU,GAAG,YAAY,EACzB,aAAa,GACM,EACrB,mCAAiD;IAEjD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,qBAAqB,IAAI,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,MAAM,UAAU;SAC9B,aAAa,CAAC,uDAAuD,UAAU,EAAE,CAAC,CAAC,OAAO;SAC1F,IAAI,CAAC;QACJ,OAAO,EAAE;YACP,UAAU,EAAE,GAAG;YACf,cAAc,EAAE,kBAAkB;YAClC,aAAa,EACX,aAAa;gBACb,CAAC,MAAM,cAAc,CAAC,qBAAqB,EAAE,mCAAmC,CAAC,CAAC;SACrF;KACF,CAAC,CAAC;IAEL,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACvF,OAAO,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;AACvC,CAAC;AAED,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n InteractiveBrowserCredential,\n type InteractiveBrowserCredentialNodeOptions as IBCNOptions,\n} from \"@azure/identity\";\nimport type { ServiceInformation } from \"./types.js\";\nimport { getClient } from \"@azure-rest/core-client\";\n\nasync function getAccessToken(\n managementApiEndpoint: string,\n options: IBCNOptions = {},\n): Promise<string> {\n const credentials = new InteractiveBrowserCredential(options);\n const scope = `${managementApiEndpoint}/user_impersonation`;\n const { token } = await credentials.getToken(scope);\n return `Bearer ${token}`;\n}\n\n/**\n * Function to get storage SAS URL.\n *\n * @returns storage SAS URL\n */\nasync function getStorageSasUrl(\n {\n managementApiEndpoint,\n resourceId,\n apiVersion = \"2019-01-01\",\n tokenOverride,\n }: ServiceInformation,\n interactiveBrowserCredentialOptions?: IBCNOptions,\n): Promise<string> {\n const httpClient = getClient(`${managementApiEndpoint}/${resourceId}`, { apiVersion });\n const response = await httpClient\n .pathUnchecked(`/portalSettings/mediaContent/listSecrets?apiVersion=${apiVersion}`) // TODO\n .post({\n headers: {\n \"If-Match\": \"*\",\n \"Content-Type\": \"application/json\",\n Authorization:\n tokenOverride ??\n (await getAccessToken(managementApiEndpoint, interactiveBrowserCredentialOptions)),\n },\n });\n\n if (!response?.body?.containerSasUrl) throw new Error(\"Could not get storage SAS URL\");\n return response.body.containerSasUrl;\n}\n\nexport default getStorageSasUrl;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readdir-browser.d.mts","sourceRoot":"","sources":["../../../src/node/readdir-browser.mts"],"names":[],"mappings":"AAGA,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAEtD;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readdir-browser.mjs","sourceRoot":"","sources":["../../../src/node/readdir-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAC/D,CAAC;AAED,eAAe,OAAO,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nfunction readdir(_dir: string, _root: string): string[] {\n throw new Error(\"Not supported in the browser environment.\");\n}\n\nexport default readdir;\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { InteractiveBrowserCredentialNodeOptions } from "@azure/identity";
|
|
2
|
+
/**
|
|
3
|
+
* resourceId - resource ID of API Management service "subscriptions/[subscription-id]/resourceGroups/[resource-group-name]/providers/Microsoft.ApiManagement/service/[service-name]"
|
|
4
|
+
* managementApiEndpoint - URL with protocol (e.g. https://management.azure.com)
|
|
5
|
+
* apiVersion - optional to override default (e.g. "2019-01-01")
|
|
6
|
+
* tokenOverride - optional, provides token to use for auth, instead of 'az login' approach
|
|
7
|
+
*/
|
|
8
|
+
export type ServiceInformation = {
|
|
9
|
+
resourceId: string;
|
|
10
|
+
managementApiEndpoint: string;
|
|
11
|
+
apiVersion?: string;
|
|
12
|
+
tokenOverride?: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Optional options object for configuring the deployment function.
|
|
16
|
+
*
|
|
17
|
+
* @param rootLocal - optional, root of the local folder with compiled project to be exported (by default "./dist")
|
|
18
|
+
* @param interactiveBrowserCredentialOptions - options for InteractiveBrowserCredential for Node or InBrowser from \@azure/identity
|
|
19
|
+
*/
|
|
20
|
+
export type DeployConfig = {
|
|
21
|
+
rootLocal?: string;
|
|
22
|
+
interactiveBrowserCredentialOptions?: InteractiveBrowserCredentialNodeOptions;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/node/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC,CAAC,EAAE,uCAAuC,CAAC;CAC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/node/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { InteractiveBrowserCredentialNodeOptions } from \"@azure/identity\";\n\n/**\n * resourceId - resource ID of API Management service \"subscriptions/[subscription-id]/resourceGroups/[resource-group-name]/providers/Microsoft.ApiManagement/service/[service-name]\"\n * managementApiEndpoint - URL with protocol (e.g. https://management.azure.com)\n * apiVersion - optional to override default (e.g. \"2019-01-01\")\n * tokenOverride - optional, provides token to use for auth, instead of 'az login' approach\n */\nexport type ServiceInformation = {\n resourceId: string;\n managementApiEndpoint: string;\n apiVersion?: string;\n tokenOverride?: string;\n};\n\n/**\n * Optional options object for configuring the deployment function.\n *\n * @param rootLocal - optional, root of the local folder with compiled project to be exported (by default \"./dist\")\n * @param interactiveBrowserCredentialOptions - options for InteractiveBrowserCredential for Node or InBrowser from \\@azure/identity\n */\nexport type DeployConfig = {\n rootLocal?: string;\n interactiveBrowserCredentialOptions?: InteractiveBrowserCredentialNodeOptions;\n};\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** root of the blob storage folder */
|
|
2
|
+
export declare const BLOB_ROOT = "custom-widgets";
|
|
3
|
+
/** name of the blob storage folder with widget implementation */
|
|
4
|
+
export declare const BLOB_DATA_FOLDER = "data";
|
|
5
|
+
/** name of the blob storage folder with widget configs */
|
|
6
|
+
export declare const BLOB_CONFIGS_FOLDER = "configs";
|
|
7
|
+
/** name of the configuration file */
|
|
8
|
+
export declare const APIM_CONFIG_FILE_NAME = "config.msapim.json";
|
|
9
|
+
/**
|
|
10
|
+
* Generate relative path for widgets' data on the blob storage
|
|
11
|
+
*
|
|
12
|
+
* @param name - name of the widget
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildBlobDataPath(name: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Generate relative path for widgets' config on the blob storage
|
|
17
|
+
*
|
|
18
|
+
* @param name - name of the widget
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildBlobConfigPath(name: string): string;
|
|
21
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/paths.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAC1C,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/paths.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAC1C,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC7C,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,GAAG,SAAS,IAAI,gBAAgB,IAAI,IAAI,GAAG,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,GAAG,SAAS,IAAI,mBAAmB,IAAI,IAAI,IAAI,qBAAqB,EAAE,CAAC;AAChF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/paths.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAC1C,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC7C,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,GAAG,SAAS,IAAI,gBAAgB,IAAI,IAAI,GAAG,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,GAAG,SAAS,IAAI,mBAAmB,IAAI,IAAI,IAAI,qBAAqB,EAAE,CAAC;AAChF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/** root of the blob storage folder */\nexport const BLOB_ROOT = \"custom-widgets\";\n/** name of the blob storage folder with widget implementation */\nexport const BLOB_DATA_FOLDER = \"data\";\n/** name of the blob storage folder with widget configs */\nexport const BLOB_CONFIGS_FOLDER = \"configs\";\n/** name of the configuration file */\nexport const APIM_CONFIG_FILE_NAME = \"config.msapim.json\";\n\n/**\n * Generate relative path for widgets' data on the blob storage\n *\n * @param name - name of the widget\n */\nexport function buildBlobDataPath(name: string): string {\n return `${BLOB_ROOT}/${BLOB_DATA_FOLDER}/${name}/`;\n}\n\n/**\n * Generate relative path for widgets' config on the blob storage\n *\n * @param name - name of the widget\n */\nexport function buildBlobConfigPath(name: string): string {\n return `${BLOB_ROOT}/${BLOB_CONFIGS_FOLDER}/${name}/${APIM_CONFIG_FILE_NAME}`;\n}\n"]}
|