@c8y/ngx-components 1017.0.76 → 1017.0.78
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.
|
@@ -41,12 +41,17 @@ export class TenantUiService {
|
|
|
41
41
|
* @returns True, if current tenant is an enterprise tenant.
|
|
42
42
|
*/
|
|
43
43
|
async isEnterpriseTenant() {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
44
|
+
const { data: availableAppsOfUser } = await this.applicationService.listByUser(this.appStateService.currentUser.value, {
|
|
45
|
+
dropOverwrittenApps: true,
|
|
46
|
+
noPaging: true
|
|
47
|
+
});
|
|
48
|
+
const brandingAvailable = this.hasApp(availableAppsOfUser, 'branding') ||
|
|
49
|
+
this.hasApp(availableAppsOfUser, 'feature-branding');
|
|
50
|
+
const requiredAppsAndFeaturesAvailable = brandingAvailable &&
|
|
51
|
+
this.hasApp(availableAppsOfUser, 'sslmanagement') &&
|
|
52
|
+
this.hasApp(availableAppsOfUser, 'feature-user-hierarchy') &&
|
|
53
|
+
this.hasApp(availableAppsOfUser, 'feature-broker');
|
|
54
|
+
return requiredAppsAndFeaturesAvailable;
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
57
|
* Checks whether the current user has read access to tenants, i.e.:
|
|
@@ -217,8 +222,11 @@ export class TenantUiService {
|
|
|
217
222
|
.map(appRef => appRef.application)
|
|
218
223
|
.filter(app => app.type === ApplicationType.MICROSERVICE);
|
|
219
224
|
}
|
|
220
|
-
|
|
221
|
-
|
|
225
|
+
hasApp(apps, requiredAppName) {
|
|
226
|
+
if (!apps?.length) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
return apps.some(app => app.name === requiredAppName);
|
|
222
230
|
}
|
|
223
231
|
isManagement(currentTenant) {
|
|
224
232
|
return currentTenant.name === this.MANAGEMENT;
|
|
@@ -229,4 +237,4 @@ TenantUiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", vers
|
|
|
229
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TenantUiService, decorators: [{
|
|
230
238
|
type: Injectable
|
|
231
239
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.AppStateService }, { type: i1.ApplicationService }]; } });
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLFNBQVMsRUFLVCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVyRCxtRkFBbUY7QUFFbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDVSxXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxrQkFBc0M7UUFGdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOdkMsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUMxQixnQ0FBMkIsR0FBRyw2QkFBNkIsQ0FBQztJQU1sRSxDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxXQUFXLEdBQ2Ys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SUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQ2xDLCtCQUErQixFQUMvQixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sVUFBVTthQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7YUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBMEI7UUFDN0MsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvRCxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQTZCO1FBQ2hELE9BQU8sYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OzRHQXpQVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgQXBwbGljYXRpb25UeXBlLFxuICBHcmFudFR5cGUsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uUmVmZXJlbmNlLFxuICBJQ3VycmVudFRlbmFudCxcbiAgSVRlbmFudExvZ2luT3B0aW9uLFxuICBUZW5hbnRMb2dpbk9wdGlvblR5cGUsXG4gIFVzZXJNYW5hZ2VtZW50U291cmNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS1zdGF0ZS5zZXJ2aWNlJztcblxuLyoqIFRoZSBoZWxwZXIgVUkgc2VydmljZSBmb3IgdGVuYW50IHJlbGF0ZWQgbWV0aG9kcyBidWlsdCB1cG9uIGNsaWVudCBzZXJ2aWNlcy4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZW5hbnRVaVNlcnZpY2Uge1xuICByZWFkb25seSBNQU5BR0VNRU5UID0gJ21hbmFnZW1lbnQnO1xuICByZWFkb25seSBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50XG4gICAqL1xuICBnZXQgY3VycmVudFRlbmFudCgpOiBJQ3VycmVudFRlbmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgdGhlIG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzTWFuYWdlbWVudFRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgYW4gZW50ZXJwcmlzZSB0ZW5hbnQuXG4gICAqIEFuIGVudGVycHJpc2UgdGVuYW50IGlzIGEgdGVuYW50IHdoaWNoIGhhcyBzdWJzY3JpYmVkOlxuICAgKiAtIGBicmFuZGluZ2AgbWljcm9zZXJ2aWNlIG9yIGBmZWF0dXJlLWJyYW5kaW5nYCBmZWF0dXJlIGFwcCxcbiAgICogLSBgc3NsbWFuYWdlbWVudGAgbWljcm9zZXJ2aWNlLFxuICAgKiAtIGBmZWF0dXJlLXVzZXItaGllcmFyY2h5YCBmZWF0dXJlIGFwcCxcbiAgICogLSBgZmVhdHVyZS1icm9rZXJgIGZlYXR1cmUgYXBwLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZW50ZXJwcmlzZS1lZGl0aW9uLyBmb3IgZGV0YWlscyBhYm91dCBzdWNoIHRlbmFudHMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgaXNFbnRlcnByaXNlVGVuYW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhhc0JyYW5kaW5nID1cbiAgICAgIChhd2FpdCB0aGlzLmhhc0FwcCh7IG5hbWU6ICdicmFuZGluZycgfSkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy5oYXNBcHAoeyBuYW1lOiAnZmVhdHVyZS1icmFuZGluZycgfSkpO1xuICAgIGNvbnN0IGhhc1NzbE1hbmFnZW1lbnQgPSBhd2FpdCB0aGlzLmhhc0FwcCh7IG5hbWU6ICdzc2xtYW5hZ2VtZW50JyB9KTtcbiAgICBjb25zdCBoYXNVc2VySGllcmFyY2h5ID0gYXdhaXQgdGhpcy5oYXNBcHAoeyBuYW1lOiAnZmVhdHVyZS11c2VyLWhpZXJhcmNoeScgfSk7XG4gICAgY29uc3QgaGFzRGF0YUJyb2tlciA9IGF3YWl0IHRoaXMuaGFzQXBwKHsgbmFtZTogJ2ZlYXR1cmUtYnJva2VyJyB9KTtcblxuICAgIHJldHVybiBoYXNCcmFuZGluZyAmJiBoYXNTc2xNYW5hZ2VtZW50ICYmIGhhc1VzZXJIaWVyYXJjaHkgJiYgaGFzRGF0YUJyb2tlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY3VycmVudCB1c2VyIGhhcyByZWFkIGFjY2VzcyB0byB0ZW5hbnRzLCBpLmUuOlxuICAgKiAtIHRoZSBjdXJyZW50IHRlbmFudCBjYW4gY3JlYXRlIHN1YnRlbmFudHMgb3IgaXQncyB0aGUgbWFuYWdlbWVudCB0ZW5hbnQsXG4gICAqIC0gdGhlIGN1cnJlbnQgdXNlciBoYXMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEIHJvbGUuXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHJlYWQgYWNjZXNzIHRvIHRlbmFudHMuXG4gICAqL1xuICBjYW5SZWFkVGVuYW50cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCkgfHwgY3VycmVudFRlbmFudC5hbGxvd0NyZWF0ZVRlbmFudHMpICYmXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmhhc1JvbGUoY3VycmVudFVzZXIsIHRoaXMuUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHRlbmFudCBwcmVmZXJyZWQgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmdldFByZWZlcnJlZExvZ2luT3B0aW9uKHRoaXMuYXBwU3RhdGVTZXJ2aWNlLnN0YXRlLmxvZ2luT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHVzZXIgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRVc2VyTG9naW5Nb2RlKCk6IFRlbmFudExvZ2luT3B0aW9uVHlwZSB7XG4gICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb24gPSB0aGlzLmdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKGN1cnJlbnRVc2VyLmN1c3RvbVByb3BlcnRpZXMudXNlck9yaWdpbiA9PT0gJ09BVVRIMicpIHtcbiAgICAgIHJldHVybiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0Jhc2ljKHByZWZlcnJlZExvZ2luT3B0aW9uKVxuICAgICAgPyBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUNcbiAgICAgIDogVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMl9JTlRFUk5BTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRlbmFudCBsb2dpbiBvcHRpb24gd2hpY2ggaXMgcHJlZmVycmVkLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIFRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdGVuYW50J3MgbG9naW4gb3B0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgUmV0dXJucyBJVGVuYW50TG9naW5PcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBwcmVmZXJyZWRMb2dpbk9wdGlvbiA9IHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuZ2V0UHJlZmVycmVkTG9naW5PcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldFByZWZlcnJlZExvZ2luT3B0aW9uKGxvZ2luT3B0aW9uczogSVRlbmFudExvZ2luT3B0aW9uW10pOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIGNvbnN0IGRlZmF1bHRGYWxsYmFjayA9IHtcbiAgICAgIHR5cGU6IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQyxcbiAgICAgIHVzZXJNYW5hZ2VtZW50U291cmNlOiBVc2VyTWFuYWdlbWVudFNvdXJjZS5JTlRFUk5BTFxuICAgIH07XG4gICAgaWYgKCFsb2dpbk9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0RmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZpc2libGVMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRoaXMuaXNWaXNpYmxlT25Mb2dpblBhZ2UpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICB2aXNpYmxlTG9naW5PcHRpb25zLmZpbmQodGhpcy5pc09hdXRoSW50ZXJuYWwpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzQmFzaWMpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzT2F1dGgyKSB8fFxuICAgICAgICBkZWZhdWx0RmFsbGJhY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2F1dGgyIGxvZ2luIG9wdGlvbiBpZiBpdCBjYW4gYmUgdXNlZCBieSBVSS5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9ucyBUaGUgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHRlbmFudCdzIGxvZ2luIG9wdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFJldHVybnMgSVRlbmFudExvZ2luT3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgyID0gdGVuYW50TG9naW5PcHRpb25zU2VydmljZS5nZXRPYXV0aDJPcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldE9hdXRoMk9wdGlvbihsb2dpbk9wdGlvbnM6IElUZW5hbnRMb2dpbk9wdGlvbltdKTogSVRlbmFudExvZ2luT3B0aW9uIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb25zLmZpbmQoXG4gICAgICBsb2dpbk9wdGlvbiA9PiB0aGlzLmlzVmlzaWJsZU9uTG9naW5QYWdlKGxvZ2luT3B0aW9uKSAmJiB0aGlzLmlzT2F1dGgyKGxvZ2luT3B0aW9uKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiBpcyB2aXNpYmxlIG9uIGxvZ2luIHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IGxvZ2luT3B0aW9uc1Zpc2libGVPbkxvZ2luUGFnZSA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc1Zpc2libGVPbkxvZ2luUGFnZSk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc1Zpc2libGVPbkxvZ2luUGFnZShsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnZpc2libGVPbkxvZ2luUGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ09BVVRIMl9JTlRFUk5BTCcuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkludGVybmFsTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzT2F1dGhJbnRlcm5hbCk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc09hdXRoSW50ZXJuYWwobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnQkFTSUMnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBiYXNpY0xvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc0Jhc2ljKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzQmFzaWMobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdPQVVUSDInIGFuZCBncmFudFR5cGUgaXMgJ0FVVEhPUklaQVRJT05fQ09ERScuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkxvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5PQVVUSDIpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNPYXV0aDIobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyICYmXG4gICAgICBsb2dpbk9wdGlvbi5ncmFudFR5cGUgPT09IEdyYW50VHlwZS5BVVRIT1JJWkFUSU9OX0NPREVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhcHBsaWNhdGlvbiBvZiB0eXBlIE1JQ1JPU0VSVklDRSBpcyBzdWJzY3JpYmVkIHRvIHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICogSXQgY2hlY2tzIHRoZSBhcHBsaWNhdGlvbiByZWZlcmVuY2VzIG9mIHRoZSBjdXJyZW50VGVuYW50IGZyb20gdGhlIGFwcGxpY2F0aW9uIHN0YXRlLlxuICAgKiBObyBhZGRpdGlvbmFsIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBpZGVudGlmaWVyIGFwcGxpY2F0aW9uIG5hbWUgb3IgY29udGV4dFBhdGhcbiAgICovXG4gIGlzTWljcm9zZXJ2aWNlU3Vic2NyaWJlZEluQ3VycmVudFRlbmFudChpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoaWRlbnRpZmllcj8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbWljcm9zZXJ2aWNlcyA9IHRoaXMuZ2V0U3Vic2NyaWJlZE1pY3Jvc2VydmljZXNJbkN1cnJlbnRUZW5hbnQoKTtcbiAgICAgIHJldHVybiBtaWNyb3NlcnZpY2VzLnNvbWUoKHsgbmFtZSwgY29udGV4dFBhdGggfSkgPT5cbiAgICAgICAgW25hbWUsIGNvbnRleHRQYXRoXS5pbmNsdWRlcyhpZGVudGlmaWVyKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGFwcGxpY2F0aW9uIG9mIHR5cGUgTUlDUk9TRVJWSUNFIHN1YnNjcmliZWQgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKiBJdCBjaGVja3MgdGhlIGFwcGxpY2F0aW9uIHJlZmVyZW5jZXMgb2YgdGhlIGN1cnJlbnRUZW5hbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqIE5vIGFkZGl0aW9uYWwgcmVxdWVzdC5cbiAgICovXG4gIGdldFN1YnNjcmliZWRNaWNyb3NlcnZpY2VzSW5DdXJyZW50VGVuYW50KCk6IElBcHBsaWNhdGlvbltdIHtcbiAgICBjb25zdCByZWZlcmVuY2VzOiBJQXBwbGljYXRpb25SZWZlcmVuY2VbXSA9IGdldChcbiAgICAgIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQsXG4gICAgICAndmFsdWUuYXBwbGljYXRpb25zLnJlZmVyZW5jZXMnLFxuICAgICAgW11cbiAgICApO1xuICAgIHJldHVybiByZWZlcmVuY2VzXG4gICAgICAubWFwKGFwcFJlZiA9PiBhcHBSZWYuYXBwbGljYXRpb24pXG4gICAgICAuZmlsdGVyKGFwcCA9PiBhcHAudHlwZSA9PT0gQXBwbGljYXRpb25UeXBlLk1JQ1JPU0VSVklDRSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhc0FwcChhcHA6IFBhcnRpYWw8SUFwcGxpY2F0aW9uPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuaXNBdmFpbGFibGUoYXBwKSkuZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQ6IElDdXJyZW50VGVuYW50KSB7XG4gICAgcmV0dXJuIGN1cnJlbnRUZW5hbnQubmFtZSA9PT0gdGhpcy5NQU5BR0VNRU5UO1xuICB9XG59XG4iXX0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLFNBQVMsRUFLVCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUVyRCxtRkFBbUY7QUFFbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFDVSxXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxrQkFBc0M7UUFGdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFOdkMsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUMxQixnQ0FBMkIsR0FBRyw2QkFBNkIsQ0FBQztJQU1sRSxDQUFDO0lBRUo7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxFQUFFLElBQUks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QXlDO1FBQ3ZDLE1BQU0sVUFBVSxHQUE0QixHQUFHLENBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUNsQywrQkFBK0IsRUFDL0IsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLFVBQVU7YUFDZCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxNQUFNLENBQUMsSUFBb0IsRUFBRSxlQUF1QjtRQUMxRCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQTZCO1FBQ2hELE9BQU8sYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OzRHQXRRVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uU2VydmljZSxcbiAgQXBwbGljYXRpb25UeXBlLFxuICBHcmFudFR5cGUsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uUmVmZXJlbmNlLFxuICBJQ3VycmVudFRlbmFudCxcbiAgSVRlbmFudExvZ2luT3B0aW9uLFxuICBUZW5hbnRMb2dpbk9wdGlvblR5cGUsXG4gIFVzZXJNYW5hZ2VtZW50U291cmNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS1zdGF0ZS5zZXJ2aWNlJztcblxuLyoqIFRoZSBoZWxwZXIgVUkgc2VydmljZSBmb3IgdGVuYW50IHJlbGF0ZWQgbWV0aG9kcyBidWlsdCB1cG9uIGNsaWVudCBzZXJ2aWNlcy4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZW5hbnRVaVNlcnZpY2Uge1xuICByZWFkb25seSBNQU5BR0VNRU5UID0gJ21hbmFnZW1lbnQnO1xuICByZWFkb25seSBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50XG4gICAqL1xuICBnZXQgY3VycmVudFRlbmFudCgpOiBJQ3VycmVudFRlbmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgdGhlIG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzTWFuYWdlbWVudFRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgYW4gZW50ZXJwcmlzZSB0ZW5hbnQuXG4gICAqIEFuIGVudGVycHJpc2UgdGVuYW50IGlzIGEgdGVuYW50IHdoaWNoIGhhcyBzdWJzY3JpYmVkOlxuICAgKiAtIGBicmFuZGluZ2AgbWljcm9zZXJ2aWNlIG9yIGBmZWF0dXJlLWJyYW5kaW5nYCBmZWF0dXJlIGFwcCxcbiAgICogLSBgc3NsbWFuYWdlbWVudGAgbWljcm9zZXJ2aWNlLFxuICAgKiAtIGBmZWF0dXJlLXVzZXItaGllcmFyY2h5YCBmZWF0dXJlIGFwcCxcbiAgICogLSBgZmVhdHVyZS1icm9rZXJgIGZlYXR1cmUgYXBwLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZW50ZXJwcmlzZS1lZGl0aW9uLyBmb3IgZGV0YWlscyBhYm91dCBzdWNoIHRlbmFudHMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgaXNFbnRlcnByaXNlVGVuYW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgZGF0YTogYXZhaWxhYmxlQXBwc09mVXNlciB9ID0gYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UubGlzdEJ5VXNlcihcbiAgICAgIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRVc2VyLnZhbHVlLFxuICAgICAge1xuICAgICAgICBkcm9wT3ZlcndyaXR0ZW5BcHBzOiB0cnVlLFxuICAgICAgICBub1BhZ2luZzogdHJ1ZVxuICAgICAgfVxuICAgICk7XG4gICAgY29uc3QgYnJhbmRpbmdBdmFpbGFibGUgPVxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ2JyYW5kaW5nJykgfHxcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdmZWF0dXJlLWJyYW5kaW5nJyk7XG5cbiAgICBjb25zdCByZXF1aXJlZEFwcHNBbmRGZWF0dXJlc0F2YWlsYWJsZSA9XG4gICAgICBicmFuZGluZ0F2YWlsYWJsZSAmJlxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ3NzbG1hbmFnZW1lbnQnKSAmJlxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ2ZlYXR1cmUtdXNlci1oaWVyYXJjaHknKSAmJlxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ2ZlYXR1cmUtYnJva2VyJyk7XG5cbiAgICByZXR1cm4gcmVxdWlyZWRBcHBzQW5kRmVhdHVyZXNBdmFpbGFibGU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciBoYXMgcmVhZCBhY2Nlc3MgdG8gdGVuYW50cywgaS5lLjpcbiAgICogLSB0aGUgY3VycmVudCB0ZW5hbnQgY2FuIGNyZWF0ZSBzdWJ0ZW5hbnRzIG9yIGl0J3MgdGhlIG1hbmFnZW1lbnQgdGVuYW50LFxuICAgKiAtIHRoZSBjdXJyZW50IHVzZXIgaGFzIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCByb2xlLlxuICAgKiBAcmV0dXJucyBUcnVlLCBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyByZWFkIGFjY2VzcyB0byB0ZW5hbnRzLlxuICAgKi9cbiAgY2FuUmVhZFRlbmFudHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFRlbmFudCA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQpIHx8IGN1cnJlbnRUZW5hbnQuYWxsb3dDcmVhdGVUZW5hbnRzKSAmJlxuICAgICAgdGhpcy51c2VyU2VydmljZS5oYXNSb2xlKGN1cnJlbnRVc2VyLCB0aGlzLlJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCB0ZW5hbnQgcHJlZmVycmVkIGxvZ2luIG1vZGUuXG4gICAqL1xuICBnZXRDdXJyZW50VGVuYW50UHJlZmVycmVkTG9naW5PcHRpb24oKTogSVRlbmFudExvZ2luT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQcmVmZXJyZWRMb2dpbk9wdGlvbih0aGlzLmFwcFN0YXRlU2VydmljZS5zdGF0ZS5sb2dpbk9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY3VycmVudCB1c2VyIGxvZ2luIG1vZGUuXG4gICAqL1xuICBnZXRDdXJyZW50VXNlckxvZ2luTW9kZSgpOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUge1xuICAgIGNvbnN0IHByZWZlcnJlZExvZ2luT3B0aW9uID0gdGhpcy5nZXRDdXJyZW50VGVuYW50UHJlZmVycmVkTG9naW5PcHRpb24oKTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmIChjdXJyZW50VXNlci5jdXN0b21Qcm9wZXJ0aWVzLnVzZXJPcmlnaW4gPT09ICdPQVVUSDInKSB7XG4gICAgICByZXR1cm4gVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNCYXNpYyhwcmVmZXJyZWRMb2dpbk9wdGlvbilcbiAgICAgID8gVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDXG4gICAgICA6IFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDJfSU5URVJOQUw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0ZW5hbnQgbG9naW4gb3B0aW9uIHdoaWNoIGlzIHByZWZlcnJlZC5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9ucyBUaGUgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHRlbmFudCdzIGxvZ2luIG9wdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFJldHVybnMgSVRlbmFudExvZ2luT3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb24gPSB0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmdldFByZWZlcnJlZExvZ2luT3B0aW9uKGxvZ2luT3B0aW9ucyk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBnZXRQcmVmZXJyZWRMb2dpbk9wdGlvbihsb2dpbk9wdGlvbnM6IElUZW5hbnRMb2dpbk9wdGlvbltdKTogSVRlbmFudExvZ2luT3B0aW9uIHtcbiAgICBjb25zdCBkZWZhdWx0RmFsbGJhY2sgPSB7XG4gICAgICB0eXBlOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUMsXG4gICAgICB1c2VyTWFuYWdlbWVudFNvdXJjZTogVXNlck1hbmFnZW1lbnRTb3VyY2UuSU5URVJOQUxcbiAgICB9O1xuICAgIGlmICghbG9naW5PcHRpb25zKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdEZhbGxiYWNrO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2aXNpYmxlTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0aGlzLmlzVmlzaWJsZU9uTG9naW5QYWdlKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdmlzaWJsZUxvZ2luT3B0aW9ucy5maW5kKHRoaXMuaXNPYXV0aEludGVybmFsKSB8fFxuICAgICAgICB2aXNpYmxlTG9naW5PcHRpb25zLmZpbmQodGhpcy5pc0Jhc2ljKSB8fFxuICAgICAgICB2aXNpYmxlTG9naW5PcHRpb25zLmZpbmQodGhpcy5pc09hdXRoMikgfHxcbiAgICAgICAgZGVmYXVsdEZhbGxiYWNrXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIE9hdXRoMiBsb2dpbiBvcHRpb24gaWYgaXQgY2FuIGJlIHVzZWQgYnkgVUkuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbnMgVGhlIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSB0ZW5hbnQncyBsb2dpbiBvcHRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIElUZW5hbnRMb2dpbk9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMiA9IHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuZ2V0T2F1dGgyT3B0aW9uKGxvZ2luT3B0aW9ucyk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBnZXRPYXV0aDJPcHRpb24obG9naW5PcHRpb25zOiBJVGVuYW50TG9naW5PcHRpb25bXSk6IElUZW5hbnRMb2dpbk9wdGlvbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9ucy5maW5kKFxuICAgICAgbG9naW5PcHRpb24gPT4gdGhpcy5pc1Zpc2libGVPbkxvZ2luUGFnZShsb2dpbk9wdGlvbikgJiYgdGhpcy5pc09hdXRoMihsb2dpbk9wdGlvbilcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gaXMgdmlzaWJsZSBvbiBsb2dpbiBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBsb2dpbk9wdGlvbnNWaXNpYmxlT25Mb2dpblBhZ2UgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuaXNWaXNpYmxlT25Mb2dpblBhZ2UpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNWaXNpYmxlT25Mb2dpblBhZ2UobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi52aXNpYmxlT25Mb2dpblBhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdPQVVUSDJfSU5URVJOQUwnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBvYXV0aDJJbnRlcm5hbExvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc09hdXRoSW50ZXJuYWwpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNPYXV0aEludGVybmFsKGxvZ2luT3B0aW9uOiBJVGVuYW50TG9naW5PcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb24udHlwZSA9PT0gVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMl9JTlRFUk5BTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ0JBU0lDJy5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3QgYmFzaWNMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuaXNCYXNpYyk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc0Jhc2ljKGxvZ2luT3B0aW9uOiBJVGVuYW50TG9naW5PcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb24udHlwZSA9PT0gVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnT0FVVEgyJyBhbmQgZ3JhbnRUeXBlIGlzICdBVVRIT1JJWkFUSU9OX0NPREUnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBvYXV0aDJMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuT0FVVEgyKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzT2F1dGgyKGxvZ2luT3B0aW9uOiBJVGVuYW50TG9naW5PcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbG9naW5PcHRpb24udHlwZSA9PT0gVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMiAmJlxuICAgICAgbG9naW5PcHRpb24uZ3JhbnRUeXBlID09PSBHcmFudFR5cGUuQVVUSE9SSVpBVElPTl9DT0RFXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYXBwbGljYXRpb24gb2YgdHlwZSBNSUNST1NFUlZJQ0UgaXMgc3Vic2NyaWJlZCB0byB0aGUgY3VycmVudCB0ZW5hbnQuXG4gICAqIEl0IGNoZWNrcyB0aGUgYXBwbGljYXRpb24gcmVmZXJlbmNlcyBvZiB0aGUgY3VycmVudFRlbmFudCBmcm9tIHRoZSBhcHBsaWNhdGlvbiBzdGF0ZS5cbiAgICogTm8gYWRkaXRpb25hbCByZXF1ZXN0LlxuICAgKiBAcGFyYW0gaWRlbnRpZmllciBhcHBsaWNhdGlvbiBuYW1lIG9yIGNvbnRleHRQYXRoXG4gICAqL1xuICBpc01pY3Jvc2VydmljZVN1YnNjcmliZWRJbkN1cnJlbnRUZW5hbnQoaWRlbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlkZW50aWZpZXI/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG1pY3Jvc2VydmljZXMgPSB0aGlzLmdldFN1YnNjcmliZWRNaWNyb3NlcnZpY2VzSW5DdXJyZW50VGVuYW50KCk7XG4gICAgICByZXR1cm4gbWljcm9zZXJ2aWNlcy5zb21lKCh7IG5hbWUsIGNvbnRleHRQYXRoIH0pID0+XG4gICAgICAgIFtuYW1lLCBjb250ZXh0UGF0aF0uaW5jbHVkZXMoaWRlbnRpZmllcilcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBhcHBsaWNhdGlvbiBvZiB0eXBlIE1JQ1JPU0VSVklDRSBzdWJzY3JpYmVkIHRvIHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICogSXQgY2hlY2tzIHRoZSBhcHBsaWNhdGlvbiByZWZlcmVuY2VzIG9mIHRoZSBjdXJyZW50VGVuYW50IGZyb20gdGhlIGFwcGxpY2F0aW9uIHN0YXRlLlxuICAgKiBObyBhZGRpdGlvbmFsIHJlcXVlc3QuXG4gICAqL1xuICBnZXRTdWJzY3JpYmVkTWljcm9zZXJ2aWNlc0luQ3VycmVudFRlbmFudCgpOiBJQXBwbGljYXRpb25bXSB7XG4gICAgY29uc3QgcmVmZXJlbmNlczogSUFwcGxpY2F0aW9uUmVmZXJlbmNlW10gPSBnZXQoXG4gICAgICB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LFxuICAgICAgJ3ZhbHVlLmFwcGxpY2F0aW9ucy5yZWZlcmVuY2VzJyxcbiAgICAgIFtdXG4gICAgKTtcbiAgICByZXR1cm4gcmVmZXJlbmNlc1xuICAgICAgLm1hcChhcHBSZWYgPT4gYXBwUmVmLmFwcGxpY2F0aW9uKVxuICAgICAgLmZpbHRlcihhcHAgPT4gYXBwLnR5cGUgPT09IEFwcGxpY2F0aW9uVHlwZS5NSUNST1NFUlZJQ0UpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNBcHAoYXBwczogSUFwcGxpY2F0aW9uW10sIHJlcXVpcmVkQXBwTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcHBzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGFwcHMuc29tZShhcHAgPT4gYXBwLm5hbWUgPT09IHJlcXVpcmVkQXBwTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGlzTWFuYWdlbWVudChjdXJyZW50VGVuYW50OiBJQ3VycmVudFRlbmFudCkge1xuICAgIHJldHVybiBjdXJyZW50VGVuYW50Lm5hbWUgPT09IHRoaXMuTUFOQUdFTUVOVDtcbiAgfVxufVxuIl19
|
|
@@ -6149,12 +6149,17 @@ class TenantUiService {
|
|
|
6149
6149
|
*/
|
|
6150
6150
|
isEnterpriseTenant() {
|
|
6151
6151
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6152
|
-
const
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
const
|
|
6157
|
-
|
|
6152
|
+
const { data: availableAppsOfUser } = yield this.applicationService.listByUser(this.appStateService.currentUser.value, {
|
|
6153
|
+
dropOverwrittenApps: true,
|
|
6154
|
+
noPaging: true
|
|
6155
|
+
});
|
|
6156
|
+
const brandingAvailable = this.hasApp(availableAppsOfUser, 'branding') ||
|
|
6157
|
+
this.hasApp(availableAppsOfUser, 'feature-branding');
|
|
6158
|
+
const requiredAppsAndFeaturesAvailable = brandingAvailable &&
|
|
6159
|
+
this.hasApp(availableAppsOfUser, 'sslmanagement') &&
|
|
6160
|
+
this.hasApp(availableAppsOfUser, 'feature-user-hierarchy') &&
|
|
6161
|
+
this.hasApp(availableAppsOfUser, 'feature-broker');
|
|
6162
|
+
return requiredAppsAndFeaturesAvailable;
|
|
6158
6163
|
});
|
|
6159
6164
|
}
|
|
6160
6165
|
/**
|
|
@@ -6326,10 +6331,11 @@ class TenantUiService {
|
|
|
6326
6331
|
.map(appRef => appRef.application)
|
|
6327
6332
|
.filter(app => app.type === ApplicationType.MICROSERVICE);
|
|
6328
6333
|
}
|
|
6329
|
-
hasApp(
|
|
6330
|
-
|
|
6331
|
-
return
|
|
6332
|
-
}
|
|
6334
|
+
hasApp(apps, requiredAppName) {
|
|
6335
|
+
if (!(apps === null || apps === void 0 ? void 0 : apps.length)) {
|
|
6336
|
+
return false;
|
|
6337
|
+
}
|
|
6338
|
+
return apps.some(app => app.name === requiredAppName);
|
|
6333
6339
|
}
|
|
6334
6340
|
isManagement(currentTenant) {
|
|
6335
6341
|
return currentTenant.name === this.MANAGEMENT;
|