@trackunit/iris-app-api 0.0.102 → 0.0.104
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/CHANGELOG.md +4 -0
- package/package.json +2 -2
- package/src/types/extensions/adminExtensionManifest.d.ts +7 -0
- package/src/types/extensions/adminExtensionManifest.js +3 -0
- package/src/types/extensions/adminExtensionManifest.js.map +1 -0
- package/src/types/extensions/assetHomeExtensionManifest.d.ts +19 -0
- package/src/types/extensions/assetHomeExtensionManifest.js +3 -0
- package/src/types/extensions/assetHomeExtensionManifest.js.map +1 -0
- package/src/types/extensions/fleetExtensionManifest.d.ts +20 -0
- package/src/types/extensions/fleetExtensionManifest.js +3 -0
- package/src/types/extensions/fleetExtensionManifest.js.map +1 -0
- package/src/types/extensions/index.d.ts +6 -0
- package/src/types/extensions/index.js +10 -0
- package/src/types/extensions/index.js.map +1 -0
- package/src/types/extensions/irisAppSettingsExtensionManifest.d.ts +4 -0
- package/src/types/extensions/irisAppSettingsExtensionManifest.js +3 -0
- package/src/types/extensions/irisAppSettingsExtensionManifest.js.map +1 -0
- package/src/types/extensions/reportExtensionManifest.d.ts +19 -0
- package/src/types/extensions/reportExtensionManifest.js +3 -0
- package/src/types/extensions/reportExtensionManifest.js.map +1 -0
- package/src/types/extensions/siteHomeExtensionManifest.d.ts +7 -0
- package/src/types/extensions/siteHomeExtensionManifest.js +3 -0
- package/src/types/extensions/siteHomeExtensionManifest.js.map +1 -0
- package/src/types/index.d.ts +6 -0
- package/src/types/index.js +6 -0
- package/src/types/index.js.map +1 -1
- package/src/types/irisAppCspInput.d.ts +1 -0
- package/src/types/irisAppCspInput.js.map +1 -1
- package/src/types/irisAppCustomFields.d.ts +125 -0
- package/src/types/irisAppCustomFields.js +49 -0
- package/src/types/irisAppCustomFields.js.map +1 -0
- package/src/types/irisAppExtensionManifest.d.ts +42 -0
- package/src/types/irisAppExtensionManifest.js +24 -0
- package/src/types/irisAppExtensionManifest.js.map +1 -0
- package/src/types/irisAppInstallationConfig.d.ts +24 -0
- package/src/types/irisAppInstallationConfig.js +3 -0
- package/src/types/irisAppInstallationConfig.js.map +1 -0
- package/src/types/irisAppManifest.d.ts +26 -373
- package/src/types/irisAppManifest.js +0 -66
- package/src/types/irisAppManifest.js.map +1 -1
- package/src/types/irisAppMarketplace.d.ts +93 -0
- package/src/types/irisAppMarketplace.js +3 -0
- package/src/types/irisAppMarketplace.js.map +1 -0
- package/src/types/mocks.d.ts +1 -1
- package/src/types/mocks.js.map +1 -1
- package/src/types/subscriptionPackages.d.ts +1 -0
- package/src/types/subscriptionPackages.js +3 -0
- package/src/types/subscriptionPackages.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.0.104](https://github.com/Trackunit/manager/compare/iris-app-api/0.0.103...iris-app-api/0.0.104) (2023-07-17)
|
|
6
|
+
|
|
7
|
+
## [0.0.103](https://github.com/Trackunit/manager/compare/iris-app-api/0.0.2-alpha-mta.0...iris-app-api/0.0.103) (2023-07-03)
|
|
8
|
+
|
|
5
9
|
## [0.0.102](https://github.com/Trackunit/manager/compare/iris-app-api/0.0.101...iris-app-api/0.0.102) (2023-06-20)
|
|
6
10
|
|
|
7
11
|
## [0.0.101](https://github.com/Trackunit/manager/compare/iris-app-api/0.0.100...iris-app-api/0.0.101) (2023-06-19)
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/iris-app-api",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.104",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"repository": "https://github.com/Trackunit/manager",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=16.x"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"tslib": "
|
|
10
|
+
"tslib": "1.10.0"
|
|
11
11
|
},
|
|
12
12
|
"main": "./src/index.js",
|
|
13
13
|
"types": "./src/index.d.ts"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractExtensionManifest, TranslationKey, Translations } from "../irisAppExtensionManifest";
|
|
2
|
+
export interface AdminExtensionManifest extends AbstractExtensionManifest {
|
|
3
|
+
type: "ADMIN_EXTENSION";
|
|
4
|
+
menuItem: {
|
|
5
|
+
name: string | Translations | TranslationKey;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/adminExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport interface AdminExtensionManifest extends AbstractExtensionManifest {\n type: \"ADMIN_EXTENSION\";\n\n menuItem: {\n name: string | Translations | TranslationKey;\n };\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractExtensionManifest, TranslationKey, Translations } from "../irisAppExtensionManifest";
|
|
2
|
+
export interface AssetHomeExtensionManifest extends AbstractExtensionManifest {
|
|
3
|
+
type: "ASSET_HOME_EXTENSION";
|
|
4
|
+
/**
|
|
5
|
+
* Conditions for the asset home app to be shown.
|
|
6
|
+
* It is case insensitive so does not matter how you write the brand.
|
|
7
|
+
* brand: "trackunit" and brand: "Trackunit" will be the same.
|
|
8
|
+
*
|
|
9
|
+
* If both model and brand are used/filled out then asset needs to match both model and brand.
|
|
10
|
+
* If only brand or model is used/filled out then the asset needs to match the filled out property.
|
|
11
|
+
*/
|
|
12
|
+
conditions?: {
|
|
13
|
+
model?: string[] | string;
|
|
14
|
+
brand?: string[] | string;
|
|
15
|
+
};
|
|
16
|
+
menuItem: {
|
|
17
|
+
name: string | Translations | TranslationKey;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetHomeExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/assetHomeExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport interface AssetHomeExtensionManifest extends AbstractExtensionManifest {\n type: \"ASSET_HOME_EXTENSION\";\n /**\n * Conditions for the asset home app to be shown.\n * It is case insensitive so does not matter how you write the brand.\n * brand: \"trackunit\" and brand: \"Trackunit\" will be the same.\n *\n * If both model and brand are used/filled out then asset needs to match both model and brand.\n * If only brand or model is used/filled out then the asset needs to match the filled out property.\n */\n conditions?: {\n model?: string[] | string;\n brand?: string[] | string;\n };\n menuItem: {\n name: string | Translations | TranslationKey;\n };\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AbstractExtensionManifest, TranslationKey, Translations } from "../irisAppExtensionManifest";
|
|
2
|
+
export interface FleetExtensionManifest extends AbstractExtensionManifest {
|
|
3
|
+
type: "FLEET_EXTENSION";
|
|
4
|
+
/**
|
|
5
|
+
* Conditions for the asset home app to be shown.
|
|
6
|
+
* It is case insensitive so does not matter how you write the brand.
|
|
7
|
+
* brand: "trackunit" and brand: "Trackunit" will be the same.
|
|
8
|
+
*
|
|
9
|
+
* If both model and brand are used/filled out then asset needs to match both model and brand.
|
|
10
|
+
* If only brand or model is used/filled out then the asset needs to match the filled out property.
|
|
11
|
+
*/
|
|
12
|
+
conditions?: {
|
|
13
|
+
model?: string[] | string;
|
|
14
|
+
brand?: string[] | string;
|
|
15
|
+
};
|
|
16
|
+
menuItem: {
|
|
17
|
+
name: string | Translations | TranslationKey;
|
|
18
|
+
icon: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleetExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/fleetExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport interface FleetExtensionManifest extends AbstractExtensionManifest {\n type: \"FLEET_EXTENSION\";\n\n /**\n * Conditions for the asset home app to be shown.\n * It is case insensitive so does not matter how you write the brand.\n * brand: \"trackunit\" and brand: \"Trackunit\" will be the same.\n *\n * If both model and brand are used/filled out then asset needs to match both model and brand.\n * If only brand or model is used/filled out then the asset needs to match the filled out property.\n */\n conditions?: {\n model?: string[] | string;\n brand?: string[] | string;\n };\n menuItem: {\n name: string | Translations | TranslationKey;\n icon: string;\n };\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./adminExtensionManifest";
|
|
2
|
+
export * from "./assetHomeExtensionManifest";
|
|
3
|
+
export * from "./fleetExtensionManifest";
|
|
4
|
+
export * from "./irisAppSettingsExtensionManifest";
|
|
5
|
+
export * from "./reportExtensionManifest";
|
|
6
|
+
export * from "./siteHomeExtensionManifest";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./adminExtensionManifest"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./assetHomeExtensionManifest"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./fleetExtensionManifest"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./irisAppSettingsExtensionManifest"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./reportExtensionManifest"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./siteHomeExtensionManifest"), exports);
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC;AACzC,uEAA6C;AAC7C,mEAAyC;AACzC,6EAAmD;AACnD,oEAA0C;AAC1C,sEAA4C","sourcesContent":["export * from \"./adminExtensionManifest\";\nexport * from \"./assetHomeExtensionManifest\";\nexport * from \"./fleetExtensionManifest\";\nexport * from \"./irisAppSettingsExtensionManifest\";\nexport * from \"./reportExtensionManifest\";\nexport * from \"./siteHomeExtensionManifest\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irisAppSettingsExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/irisAppSettingsExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest } from \"../irisAppExtensionManifest\";\n\nexport interface IrisAppSettingsExtensionManifest extends AbstractExtensionManifest {\n type: \"IRIS_APP_SETTINGS_EXTENSION\";\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractExtensionManifest, TranslationKey, Translations } from "../irisAppExtensionManifest";
|
|
2
|
+
export interface ReportExtensionManifest extends AbstractExtensionManifest {
|
|
3
|
+
type: "REPORT_EXTENSION";
|
|
4
|
+
menuItem: {
|
|
5
|
+
/**
|
|
6
|
+
* Title of the card in manager
|
|
7
|
+
*/
|
|
8
|
+
name: string | Translations | TranslationKey;
|
|
9
|
+
/**
|
|
10
|
+
* Subtitle of the card in manager
|
|
11
|
+
*/
|
|
12
|
+
description: string | Translations | TranslationKey;
|
|
13
|
+
/**
|
|
14
|
+
* Icon of the card in manager, must use icons from:
|
|
15
|
+
* https://apps.dev.iris.trackunit.com/storybook/?path=/docs/components-icon--default
|
|
16
|
+
*/
|
|
17
|
+
icon: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/reportExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport interface ReportExtensionManifest extends AbstractExtensionManifest {\n type: \"REPORT_EXTENSION\";\n\n menuItem: {\n /**\n * Title of the card in manager\n */\n name: string | Translations | TranslationKey;\n\n /**\n * Subtitle of the card in manager\n */\n description: string | Translations | TranslationKey;\n\n /**\n * Icon of the card in manager, must use icons from:\n * https://apps.dev.iris.trackunit.com/storybook/?path=/docs/components-icon--default\n */\n icon: string;\n };\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AbstractExtensionManifest, TranslationKey, Translations } from "../irisAppExtensionManifest";
|
|
2
|
+
export interface SiteHomeExtensionManifest extends AbstractExtensionManifest {
|
|
3
|
+
type: "SITE_HOME_EXTENSION";
|
|
4
|
+
menuItem: {
|
|
5
|
+
name: string | Translations | TranslationKey;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siteHomeExtensionManifest.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app-api/src/types/extensions/siteHomeExtensionManifest.ts"],"names":[],"mappings":"","sourcesContent":["import { AbstractExtensionManifest, TranslationKey, Translations } from \"../irisAppExtensionManifest\";\n\nexport interface SiteHomeExtensionManifest extends AbstractExtensionManifest {\n type: \"SITE_HOME_EXTENSION\";\n\n menuItem: {\n name: string | Translations | TranslationKey;\n };\n}\n"]}
|
package/src/types/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export * from "./defaultValidHosts";
|
|
2
|
+
export * from "./extensions";
|
|
2
3
|
export * from "./irisAppCspInput";
|
|
4
|
+
export * from "./irisAppCustomFields";
|
|
5
|
+
export * from "./irisAppExtensionManifest";
|
|
6
|
+
export * from "./irisAppInstallationConfig";
|
|
3
7
|
export * from "./irisAppManifest";
|
|
8
|
+
export * from "./irisAppMarketplace";
|
|
4
9
|
export * from "./mocks";
|
|
5
10
|
export * from "./modulefederation";
|
|
11
|
+
export * from "./subscriptionPackages";
|
package/src/types/index.js
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./defaultValidHosts"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./extensions"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./irisAppCspInput"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./irisAppCustomFields"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./irisAppExtensionManifest"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./irisAppInstallationConfig"), exports);
|
|
6
10
|
tslib_1.__exportStar(require("./irisAppManifest"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./irisAppMarketplace"), exports);
|
|
7
12
|
tslib_1.__exportStar(require("./mocks"), exports);
|
|
8
13
|
tslib_1.__exportStar(require("./modulefederation"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./subscriptionPackages"), exports);
|
|
9
15
|
//# sourceMappingURL=index.js.map
|
package/src/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC;AAClC,kDAAwB;AACxB,6DAAmC","sourcesContent":["export * from \"./defaultValidHosts\";\nexport * from \"./irisAppCspInput\";\nexport * from \"./irisAppManifest\";\nexport * from \"./mocks\";\nexport * from \"./modulefederation\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,uDAA6B;AAC7B,4DAAkC;AAClC,gEAAsC;AACtC,qEAA2C;AAC3C,sEAA4C;AAC5C,4DAAkC;AAClC,+DAAqC;AACrC,kDAAwB;AACxB,6DAAmC;AACnC,iEAAuC","sourcesContent":["export * from \"./defaultValidHosts\";\nexport * from \"./extensions\";\nexport * from \"./irisAppCspInput\";\nexport * from \"./irisAppCustomFields\";\nexport * from \"./irisAppExtensionManifest\";\nexport * from \"./irisAppInstallationConfig\";\nexport * from \"./irisAppManifest\";\nexport * from \"./irisAppMarketplace\";\nexport * from \"./mocks\";\nexport * from \"./modulefederation\";\nexport * from \"./subscriptionPackages\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irisAppCspInput.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppCspInput.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG;IAClB,yBAAyB;IACzB,4BAA4B;IAC5B,uBAAuB;IACvB,gCAAgC;IAChC,uBAAuB;IACvB,2BAA2B;IAC3B,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,sBAAsB;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"irisAppCspInput.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppCspInput.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG;IAClB,yBAAyB;IACzB,4BAA4B;IAC5B,uBAAuB;IACvB,gCAAgC;IAChC,uBAAuB;IACvB,2BAA2B;IAC3B,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,sBAAsB;CACvB,CAAC;AAiBF;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,CAC7B,YAAsB,EACtB,cAAyB,EACzB,cAAuB,EACR,EAAE;IACjB,MAAM,QAAQ,GAAkB;QAC9B,UAAU,EAAE;YACV,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC;YAC1C,YAAY,EAAE,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC;YACzC,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;YAClD,WAAW,EAAE,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;YAEhE,aAAa,EAAE;gBACb,QAAQ;gBACR,qBAAqB;gBACrB,mBAAmB;gBACnB,uBAAuB;gBACvB,GAAG,WAAW;gBACd,GAAG,YAAY;aAChB;SACF;QACD,SAAS,EAAE,oGAAoG;KAChH,CAAC;IACF,IAAI,cAAc,EAAE;QAClB,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACxD;IACD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/C,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;KACzD;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA9BW,QAAA,eAAe,mBA8B1B","sourcesContent":["const BrandedUrls = [\n \"https://*.trackunit.com\",\n \"https://*.wackerneuson.com\",\n \"https://*.manitou.com\",\n \"https://*.niftylinkmanager.com\",\n \"https://*.skyjack.com\",\n \"https://*.ahernaccess.com\",\n \"https://*.magnith.com\",\n \"https://*.terberg.com\",\n \"https://*.mymecalac.com\",\n \"https://*.delille.be\",\n];\n\n/**\n * This type is used to generate the CSP input for the Iris Apps Csp Header\n */\nexport type CspDirectives = {\n directives: {\n \"default-src\": string[];\n \"script-src\": string[];\n \"worker-src\": string[];\n \"style-src\": string[];\n \"connect-src\": string[];\n \"frame-ancestors\"?: string[];\n };\n reportUri?: string;\n};\n\n/**\n * This function is used to generate the CSP input for the Iris Apps Csp Header\n *\n * @param validDomains input valid domains to add to the CSP header\n * @param frameAncestors input frame ancestors to add to the CSP header\n * @param extraScriptSrc input extra script src to add to the CSP header\n * @returns { CspDirectives } the CSP input for the Iris Apps Csp Header\n */\nexport const irisAppCspInput = (\n validDomains: string[],\n frameAncestors?: string[],\n extraScriptSrc?: string\n): CspDirectives => {\n const cspInput: CspDirectives = {\n directives: {\n \"default-src\": [\"'self'\", ...validDomains],\n \"script-src\": [\"'self'\", ...validDomains],\n \"worker-src\": [\"'self'\", \"blob:\", ...validDomains],\n \"style-src\": [\"'unsafe-inline'\", \"https://fonts.googleapis.com\"],\n\n \"connect-src\": [\n \"'self'\",\n \"https://*.sentry.io\",\n \"https://sentry.io\",\n \"http://localhost:3003\",\n ...BrandedUrls,\n ...validDomains,\n ],\n },\n reportUri: \"https://o343335.ingest.sentry.io/api/1888181/security/?sentry_key=62900a1fa49748d8ba12f4ffbdbd8e07\",\n };\n if (extraScriptSrc) {\n cspInput.directives[\"script-src\"].push(extraScriptSrc);\n }\n if (frameAncestors && frameAncestors.length > 0) {\n cspInput.directives[\"frame-ancestors\"] = frameAncestors;\n }\n return cspInput;\n};\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export declare type CustomFieldDefinitionType = "STRING" | "NUMBER" | "DATE" | "BOOLEAN" | "DROPDOWN" | "EMAIL" | "PHONE_NUMBER" | "WEB_ADDRESS";
|
|
2
|
+
export declare type EntityType = "ASSET" | "ACCOUNT" | "SITE" | "GROUP";
|
|
3
|
+
export interface AbstractCustomFieldDefinition {
|
|
4
|
+
/**
|
|
5
|
+
* The key is the name you use to get the custom field.
|
|
6
|
+
*/
|
|
7
|
+
key: string;
|
|
8
|
+
/**
|
|
9
|
+
* The type of the entity to attach this custom field on.
|
|
10
|
+
*/
|
|
11
|
+
entityType: EntityType;
|
|
12
|
+
/**
|
|
13
|
+
* The human readable translation of the key. So what the end customer will see.
|
|
14
|
+
*/
|
|
15
|
+
title: string;
|
|
16
|
+
/**
|
|
17
|
+
* Should this be visible in the generic UI in Manager.
|
|
18
|
+
*/
|
|
19
|
+
uiVisible?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Should this be editable in the generic UI in Manager. This does not mean you cannot change it inside a app.
|
|
22
|
+
*/
|
|
23
|
+
uiEditable?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The type of this custom field definition
|
|
26
|
+
*/
|
|
27
|
+
type: CustomFieldDefinitionType;
|
|
28
|
+
}
|
|
29
|
+
export interface StringFieldDefinition extends AbstractCustomFieldDefinition {
|
|
30
|
+
type: "STRING";
|
|
31
|
+
minimumLength?: number;
|
|
32
|
+
maximumLength?: number;
|
|
33
|
+
pattern?: string;
|
|
34
|
+
defaultStringValue?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface EmailFieldDefinition extends AbstractCustomFieldDefinition {
|
|
37
|
+
type: "EMAIL";
|
|
38
|
+
defaultStringValue?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface WebAddressFieldDefinition extends AbstractCustomFieldDefinition {
|
|
41
|
+
type: "WEB_ADDRESS";
|
|
42
|
+
defaultStringValue?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface PhoneNumberFieldDefinition extends AbstractCustomFieldDefinition {
|
|
45
|
+
type: "PHONE_NUMBER";
|
|
46
|
+
defaultStringValue?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface BooleanFieldDefinition extends AbstractCustomFieldDefinition {
|
|
49
|
+
type: "BOOLEAN";
|
|
50
|
+
defaultBooleanValue?: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface DateFieldDefinition extends AbstractCustomFieldDefinition {
|
|
53
|
+
type: "DATE";
|
|
54
|
+
defaultDateValue?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface DropDownFieldDefinition extends AbstractCustomFieldDefinition {
|
|
57
|
+
type: "DROPDOWN";
|
|
58
|
+
defaultStringArrayValue?: string[];
|
|
59
|
+
multiSelect?: boolean;
|
|
60
|
+
allValues?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Map from old values not in {@link allValues} to new values. Used for updating existing data when changing
|
|
63
|
+
* the drop down options.
|
|
64
|
+
*/
|
|
65
|
+
valueReplacements?: Record<string, string>;
|
|
66
|
+
}
|
|
67
|
+
export declare enum UnitUs {
|
|
68
|
+
"mi" = "mi",
|
|
69
|
+
"yd" = "yd",
|
|
70
|
+
"ft" = "ft",
|
|
71
|
+
"in" = "in",
|
|
72
|
+
"ac" = "ac",
|
|
73
|
+
"ha" = "ha",
|
|
74
|
+
"ft_2" = "ft\u00B2",
|
|
75
|
+
"gal" = "gal",
|
|
76
|
+
"ft_3" = "ft\u00B3",
|
|
77
|
+
"ton_us" = "ton_us",
|
|
78
|
+
"lb" = "lb",
|
|
79
|
+
"oz" = "oz",
|
|
80
|
+
"mph" = "mph",
|
|
81
|
+
"lb_h" = "lb/h",
|
|
82
|
+
"lb_s" = "lb/s"
|
|
83
|
+
}
|
|
84
|
+
export declare enum UnitSi {
|
|
85
|
+
"km" = "km",
|
|
86
|
+
"m" = "m",
|
|
87
|
+
"cm" = "cm",
|
|
88
|
+
"mm" = "mm",
|
|
89
|
+
"l" = "l",
|
|
90
|
+
"kg" = "kg",
|
|
91
|
+
"g" = "g",
|
|
92
|
+
"ton" = "ton",
|
|
93
|
+
"N" = "N",
|
|
94
|
+
"kW" = "kW",
|
|
95
|
+
"W" = "W",
|
|
96
|
+
"kWh" = "kWh",
|
|
97
|
+
"kPa" = "kPa",
|
|
98
|
+
"Pa" = "Pa",
|
|
99
|
+
"bar" = "bar",
|
|
100
|
+
"m_s" = "m/s",
|
|
101
|
+
"kg_h" = "kg/h",
|
|
102
|
+
"kg_s" = "kg/s",
|
|
103
|
+
"km_h" = "km/h",
|
|
104
|
+
"km_2" = "km\u00B2",
|
|
105
|
+
"m_2" = "m\u00B2",
|
|
106
|
+
"m_3" = "m\u00B3",
|
|
107
|
+
"m_s_2" = "m/s\u00B2",
|
|
108
|
+
"h" = "h"
|
|
109
|
+
}
|
|
110
|
+
export interface DecimalNumberFieldDefinition extends AbstractCustomFieldDefinition {
|
|
111
|
+
type: "NUMBER";
|
|
112
|
+
defaultNumberValue?: number;
|
|
113
|
+
minimum?: number;
|
|
114
|
+
maximum?: number;
|
|
115
|
+
unitSi?: UnitSi;
|
|
116
|
+
unitUs?: UnitUs;
|
|
117
|
+
isInteger: false;
|
|
118
|
+
}
|
|
119
|
+
export interface IntegerNumberFieldDefinition extends AbstractCustomFieldDefinition {
|
|
120
|
+
type: "NUMBER";
|
|
121
|
+
defaultNumberValue?: number;
|
|
122
|
+
minimum?: number;
|
|
123
|
+
maximum?: number;
|
|
124
|
+
isInteger: true;
|
|
125
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnitSi = exports.UnitUs = void 0;
|
|
4
|
+
var UnitUs;
|
|
5
|
+
(function (UnitUs) {
|
|
6
|
+
UnitUs["mi"] = "mi";
|
|
7
|
+
UnitUs["yd"] = "yd";
|
|
8
|
+
UnitUs["ft"] = "ft";
|
|
9
|
+
UnitUs["in"] = "in";
|
|
10
|
+
UnitUs["ac"] = "ac";
|
|
11
|
+
UnitUs["ha"] = "ha";
|
|
12
|
+
UnitUs["ft_2"] = "ft\u00B2";
|
|
13
|
+
UnitUs["gal"] = "gal";
|
|
14
|
+
UnitUs["ft_3"] = "ft\u00B3";
|
|
15
|
+
UnitUs["ton_us"] = "ton_us";
|
|
16
|
+
UnitUs["lb"] = "lb";
|
|
17
|
+
UnitUs["oz"] = "oz";
|
|
18
|
+
UnitUs["mph"] = "mph";
|
|
19
|
+
UnitUs["lb_h"] = "lb/h";
|
|
20
|
+
UnitUs["lb_s"] = "lb/s";
|
|
21
|
+
})(UnitUs || (exports.UnitUs = UnitUs = {}));
|
|
22
|
+
var UnitSi;
|
|
23
|
+
(function (UnitSi) {
|
|
24
|
+
UnitSi["km"] = "km";
|
|
25
|
+
UnitSi["m"] = "m";
|
|
26
|
+
UnitSi["cm"] = "cm";
|
|
27
|
+
UnitSi["mm"] = "mm";
|
|
28
|
+
UnitSi["l"] = "l";
|
|
29
|
+
UnitSi["kg"] = "kg";
|
|
30
|
+
UnitSi["g"] = "g";
|
|
31
|
+
UnitSi["ton"] = "ton";
|
|
32
|
+
UnitSi["N"] = "N";
|
|
33
|
+
UnitSi["kW"] = "kW";
|
|
34
|
+
UnitSi["W"] = "W";
|
|
35
|
+
UnitSi["kWh"] = "kWh";
|
|
36
|
+
UnitSi["kPa"] = "kPa";
|
|
37
|
+
UnitSi["Pa"] = "Pa";
|
|
38
|
+
UnitSi["bar"] = "bar";
|
|
39
|
+
UnitSi["m_s"] = "m/s";
|
|
40
|
+
UnitSi["kg_h"] = "kg/h";
|
|
41
|
+
UnitSi["kg_s"] = "kg/s";
|
|
42
|
+
UnitSi["km_h"] = "km/h";
|
|
43
|
+
UnitSi["km_2"] = "km\u00B2";
|
|
44
|
+
UnitSi["m_2"] = "m\u00B2";
|
|
45
|
+
UnitSi["m_3"] = "m\u00B3";
|
|
46
|
+
UnitSi["m_s_2"] = "m/s\u00B2";
|
|
47
|
+
UnitSi["h"] = "h";
|
|
48
|
+
})(UnitSi || (exports.UnitSi = UnitSi = {}));
|
|
49
|
+
//# sourceMappingURL=irisAppCustomFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irisAppCustomFields.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppCustomFields.ts"],"names":[],"mappings":";;;AAwFA,IAAY,MAgBX;AAhBD,WAAY,MAAM;IAChB,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,2BAAc,CAAA;IACd,qBAAa,CAAA;IACb,2BAAc,CAAA;IACd,2BAAmB,CAAA;IACnB,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,qBAAa,CAAA;IACb,uBAAe,CAAA;IACf,uBAAe,CAAA;AACjB,CAAC,EAhBW,MAAM,sBAAN,MAAM,QAgBjB;AAED,IAAY,MAyBX;AAzBD,WAAY,MAAM;IAChB,mBAAW,CAAA;IACX,iBAAS,CAAA;IACT,mBAAW,CAAA;IACX,mBAAW,CAAA;IACX,iBAAS,CAAA;IACT,mBAAW,CAAA;IACX,iBAAS,CAAA;IACT,qBAAa,CAAA;IACb,iBAAS,CAAA;IACT,mBAAW,CAAA;IACX,iBAAS,CAAA;IACT,qBAAa,CAAA;IACb,qBAAa,CAAA;IACb,mBAAW,CAAA;IACX,qBAAa,CAAA;IACb,qBAAa,CAAA;IACb,uBAAe,CAAA;IACf,uBAAe,CAAA;IACf,uBAAe,CAAA;IACf,2BAAc,CAAA;IACd,yBAAY,CAAA;IACZ,yBAAY,CAAA;IACZ,6BAAgB,CAAA;IAChB,iBAAS,CAAA;AACX,CAAC,EAzBW,MAAM,sBAAN,MAAM,QAyBjB","sourcesContent":["export declare type CustomFieldDefinitionType =\n | \"STRING\"\n | \"NUMBER\"\n | \"DATE\"\n | \"BOOLEAN\"\n | \"DROPDOWN\"\n | \"EMAIL\"\n | \"PHONE_NUMBER\"\n | \"WEB_ADDRESS\";\n\nexport declare type EntityType = \"ASSET\" | \"ACCOUNT\" | \"SITE\" | \"GROUP\";\n\nexport interface AbstractCustomFieldDefinition {\n /**\n * The key is the name you use to get the custom field.\n */\n key: string;\n\n /**\n * The type of the entity to attach this custom field on.\n */\n entityType: EntityType;\n\n /**\n * The human readable translation of the key. So what the end customer will see.\n */\n title: string;\n\n /**\n * Should this be visible in the generic UI in Manager.\n */\n uiVisible?: boolean;\n\n /**\n * Should this be editable in the generic UI in Manager. This does not mean you cannot change it inside a app.\n */\n uiEditable?: boolean;\n\n /**\n * The type of this custom field definition\n */\n type: CustomFieldDefinitionType;\n}\n\nexport interface StringFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"STRING\";\n minimumLength?: number;\n maximumLength?: number;\n pattern?: string;\n defaultStringValue?: string;\n}\n\nexport interface EmailFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"EMAIL\";\n defaultStringValue?: string;\n}\n\nexport interface WebAddressFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"WEB_ADDRESS\";\n defaultStringValue?: string;\n}\n\nexport interface PhoneNumberFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"PHONE_NUMBER\";\n defaultStringValue?: string;\n}\nexport interface BooleanFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"BOOLEAN\";\n defaultBooleanValue?: boolean;\n}\n\nexport interface DateFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"DATE\";\n defaultDateValue?: string;\n}\n\nexport interface DropDownFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"DROPDOWN\";\n defaultStringArrayValue?: string[];\n multiSelect?: boolean;\n allValues?: string[];\n /**\n * Map from old values not in {@link allValues} to new values. Used for updating existing data when changing\n * the drop down options.\n */\n valueReplacements?: Record<string, string>;\n}\n\nexport enum UnitUs {\n \"mi\" = \"mi\",\n \"yd\" = \"yd\",\n \"ft\" = \"ft\",\n \"in\" = \"in\",\n \"ac\" = \"ac\",\n \"ha\" = \"ha\",\n \"ft_2\" = \"ft²\",\n \"gal\" = \"gal\",\n \"ft_3\" = \"ft³\",\n \"ton_us\" = \"ton_us\",\n \"lb\" = \"lb\",\n \"oz\" = \"oz\",\n \"mph\" = \"mph\",\n \"lb_h\" = \"lb/h\",\n \"lb_s\" = \"lb/s\",\n}\n\nexport enum UnitSi {\n \"km\" = \"km\",\n \"m\" = \"m\",\n \"cm\" = \"cm\",\n \"mm\" = \"mm\",\n \"l\" = \"l\",\n \"kg\" = \"kg\",\n \"g\" = \"g\",\n \"ton\" = \"ton\",\n \"N\" = \"N\",\n \"kW\" = \"kW\",\n \"W\" = \"W\",\n \"kWh\" = \"kWh\",\n \"kPa\" = \"kPa\",\n \"Pa\" = \"Pa\",\n \"bar\" = \"bar\",\n \"m_s\" = \"m/s\",\n \"kg_h\" = \"kg/h\",\n \"kg_s\" = \"kg/s\",\n \"km_h\" = \"km/h\",\n \"km_2\" = \"km²\",\n \"m_2\" = \"m²\",\n \"m_3\" = \"m³\",\n \"m_s_2\" = \"m/s²\",\n \"h\" = \"h\",\n}\nexport interface DecimalNumberFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"NUMBER\";\n defaultNumberValue?: number;\n\n minimum?: number;\n maximum?: number;\n\n unitSi?: UnitSi;\n unitUs?: UnitUs;\n\n isInteger: false;\n}\n\nexport interface IntegerNumberFieldDefinition extends AbstractCustomFieldDefinition {\n type: \"NUMBER\";\n defaultNumberValue?: number;\n\n minimum?: number;\n maximum?: number;\n\n isInteger: true;\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare type IrisAppExtensionType = "REPORT_EXTENSION" | "IRIS_APP_SETTINGS_EXTENSION" | "ADMIN_EXTENSION" | "FLEET_EXTENSION" | "ASSET_HOME_EXTENSION" | "SITE_HOME_EXTENSION";
|
|
2
|
+
export interface AbstractExtensionManifest {
|
|
3
|
+
/** The id of the app extension, will be part of the URL in the manager */
|
|
4
|
+
id: string;
|
|
5
|
+
/**
|
|
6
|
+
* The path to the main entry point for the extension.
|
|
7
|
+
*
|
|
8
|
+
* @default "index.tsx"
|
|
9
|
+
*/
|
|
10
|
+
main?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The relative path from the NX workspace to this projects source Root.
|
|
13
|
+
*/
|
|
14
|
+
sourceRoot: string;
|
|
15
|
+
/** The type of the app extension */
|
|
16
|
+
type: IrisAppExtensionType;
|
|
17
|
+
}
|
|
18
|
+
export interface Translations {
|
|
19
|
+
en: string;
|
|
20
|
+
da?: string;
|
|
21
|
+
de?: string;
|
|
22
|
+
cs?: string;
|
|
23
|
+
nl?: string;
|
|
24
|
+
fr?: string;
|
|
25
|
+
fi?: string;
|
|
26
|
+
hu?: string;
|
|
27
|
+
it?: string;
|
|
28
|
+
nb?: string;
|
|
29
|
+
pl?: string;
|
|
30
|
+
pt?: string;
|
|
31
|
+
ru?: string;
|
|
32
|
+
ro?: string;
|
|
33
|
+
es?: string;
|
|
34
|
+
sv?: string;
|
|
35
|
+
ja?: string;
|
|
36
|
+
th?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare const languageKeys: readonly ["en", "da", "de", "cs", "nl", "fr", "fi", "hu", "it", "nb", "pl", "pt", "ru", "ro", "es", "sv", "ja", "th"];
|
|
39
|
+
export type TranslationLanguageKeys = (typeof languageKeys)[number];
|
|
40
|
+
export interface TranslationKey {
|
|
41
|
+
key: string;
|
|
42
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.languageKeys = void 0;
|
|
4
|
+
exports.languageKeys = [
|
|
5
|
+
"en",
|
|
6
|
+
"da",
|
|
7
|
+
"de",
|
|
8
|
+
"cs",
|
|
9
|
+
"nl",
|
|
10
|
+
"fr",
|
|
11
|
+
"fi",
|
|
12
|
+
"hu",
|
|
13
|
+
"it",
|
|
14
|
+
"nb",
|
|
15
|
+
"pl",
|
|
16
|
+
"pt",
|
|
17
|
+
"ru",
|
|
18
|
+
"ro",
|
|
19
|
+
"es",
|
|
20
|
+
"sv",
|
|
21
|
+
"ja",
|
|
22
|
+
"th",
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=irisAppExtensionManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irisAppExtensionManifest.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppExtensionManifest.ts"],"names":[],"mappings":";;;AAiDa,QAAA,YAAY,GAAG;IAC1B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAC","sourcesContent":["export declare type IrisAppExtensionType =\n | \"REPORT_EXTENSION\"\n | \"IRIS_APP_SETTINGS_EXTENSION\"\n | \"ADMIN_EXTENSION\"\n | \"FLEET_EXTENSION\"\n | \"ASSET_HOME_EXTENSION\"\n | \"SITE_HOME_EXTENSION\";\n\nexport interface AbstractExtensionManifest {\n /** The id of the app extension, will be part of the URL in the manager */\n id: string;\n\n /**\n * The path to the main entry point for the extension.\n *\n * @default \"index.tsx\"\n */\n main?: string;\n\n /**\n * The relative path from the NX workspace to this projects source Root.\n */\n sourceRoot: string;\n\n /** The type of the app extension */\n type: IrisAppExtensionType;\n}\n\nexport interface Translations {\n en: string;\n da?: string;\n de?: string;\n cs?: string;\n nl?: string;\n fr?: string;\n fi?: string;\n hu?: string;\n it?: string;\n nb?: string;\n pl?: string;\n pt?: string;\n ru?: string;\n ro?: string;\n es?: string;\n sv?: string;\n ja?: string;\n th?: string;\n}\n\nexport const languageKeys = [\n \"en\",\n \"da\",\n \"de\",\n \"cs\",\n \"nl\",\n \"fr\",\n \"fi\",\n \"hu\",\n \"it\",\n \"nb\",\n \"pl\",\n \"pt\",\n \"ru\",\n \"ro\",\n \"es\",\n \"sv\",\n \"ja\",\n \"th\",\n] as const;\n\nexport type TranslationLanguageKeys = (typeof languageKeys)[number];\n\nexport interface TranslationKey {\n key: string;\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SubscriptionPackage } from "./subscriptionPackages";
|
|
2
|
+
export type InstallationPolicy = "PERMANENT" | "PREINSTALLED" | "ON_DEMAND" | "ON_DEMAND_REQUIRES_APPROVAL" | "PREINSTALLED_REQUIRES_APPROVAL";
|
|
3
|
+
export interface InstallationConfig {
|
|
4
|
+
/**
|
|
5
|
+
* Installation policy for the app.
|
|
6
|
+
*
|
|
7
|
+
* - `PERMANENT`: Always installed and cannot be removed by the end customer.
|
|
8
|
+
* - `PREINSTALLED`: Initially installed and can be removed by the end customer.
|
|
9
|
+
* - `ON_DEMAND`: Available to be installed and removed by the end customer.
|
|
10
|
+
* - `ON_DEMAND_REQUIRES_APPROVAL`: Requires approval by the Trackunit billing team before the end customer can install it. Behaves like 'ON_DEMAND' after receiving approval.
|
|
11
|
+
* - `PREINSTALLED_REQUIRES_APPROVAL`: Requires approval by the Trackunit billing team and installs automatically once approved. Behaves like 'PREINSTALLED' after receiving approval.
|
|
12
|
+
*
|
|
13
|
+
* All policies will take into consideration both `accountIds` and `subscriptionPlan`.
|
|
14
|
+
*/
|
|
15
|
+
policy: InstallationPolicy;
|
|
16
|
+
/**
|
|
17
|
+
* List of account IDs that can install this Iris App or `"ALL_ACCOUNTS"` if available for all customers.
|
|
18
|
+
*/
|
|
19
|
+
accountIds: "ALL_ACCOUNTS" | string[];
|
|
20
|
+
/**
|
|
21
|
+
* List of pricing plans the Iris App is available at or `"ALL_PLANS"` if available in all plans.
|
|
22
|
+
*/
|
|
23
|
+
pricingPlans: "ALL_PLANS" | SubscriptionPackage[];
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irisAppInstallationConfig.js","sourceRoot":"","sources":["../../../../../../libs/iris-app-sdk/iris-app-api/src/types/irisAppInstallationConfig.ts"],"names":[],"mappings":"","sourcesContent":["import { SubscriptionPackage } from \"./subscriptionPackages\";\n\nexport type InstallationPolicy =\n | \"PERMANENT\"\n | \"PREINSTALLED\"\n | \"ON_DEMAND\"\n | \"ON_DEMAND_REQUIRES_APPROVAL\"\n | \"PREINSTALLED_REQUIRES_APPROVAL\";\n\nexport interface InstallationConfig {\n /**\n * Installation policy for the app.\n *\n * - `PERMANENT`: Always installed and cannot be removed by the end customer.\n * - `PREINSTALLED`: Initially installed and can be removed by the end customer.\n * - `ON_DEMAND`: Available to be installed and removed by the end customer.\n * - `ON_DEMAND_REQUIRES_APPROVAL`: Requires approval by the Trackunit billing team before the end customer can install it. Behaves like 'ON_DEMAND' after receiving approval.\n * - `PREINSTALLED_REQUIRES_APPROVAL`: Requires approval by the Trackunit billing team and installs automatically once approved. Behaves like 'PREINSTALLED' after receiving approval.\n *\n * All policies will take into consideration both `accountIds` and `subscriptionPlan`.\n */\n policy: InstallationPolicy;\n /**\n * List of account IDs that can install this Iris App or `\"ALL_ACCOUNTS\"` if available for all customers.\n */\n accountIds: \"ALL_ACCOUNTS\" | string[];\n /**\n * List of pricing plans the Iris App is available at or `\"ALL_PLANS\"` if available in all plans.\n */\n pricingPlans: \"ALL_PLANS\" | SubscriptionPackage[];\n}\n"]}
|