@c8y/ngx-components 1023.17.11 → 1023.17.13

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.
@@ -14,7 +14,6 @@ import * as i5 from 'ngx-bootstrap/datepicker';
14
14
  import * as i6 from '@c8y/ngx-components/assets-navigator';
15
15
  import { PageChangedEvent } from 'ngx-bootstrap/pagination';
16
16
  import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
17
- import { Router } from '@angular/router';
18
17
 
19
18
  interface TenantLoginOption extends Omit<ITenantLoginOption, 'authenticationRestrictions' | 'self' | 'strengthValidity' | 'tfaStrategy' | 'greenMinLength' | 'enforceStrength' | 'strengthValidity' | '_type'> {
20
19
  authenticationRestrictions?: AuthenticationRestrictions;
@@ -416,6 +415,7 @@ declare class SsoConfigurationService {
416
415
  constructor(loginOptionsService: TenantLoginOptionsService);
417
416
  getSsoConfiguration$(): Observable<ITenantLoginOption>;
418
417
  save(ssoConfiguration: SsoConfiguration): Promise<_c8y_client.IResult<ITenantLoginOption>>;
418
+ shouldShowTab$(): Observable<boolean>;
419
419
  static ɵfac: i0.ɵɵFactoryDeclaration<SsoConfigurationService, never>;
420
420
  static ɵprov: i0.ɵɵInjectableDeclaration<SsoConfigurationService>;
421
421
  }
@@ -967,10 +967,13 @@ declare class AuthConfigurationModule {
967
967
  }
968
968
 
969
969
  declare class AuthConfigurationTabsFactory implements TabFactory {
970
- router: Router;
970
+ private router;
971
+ private tabsService;
972
+ private basicSettingsService;
971
973
  private ssoConfigurationService;
972
- constructor(router: Router, ssoConfigurationService: SsoConfigurationService);
974
+ tabs$: Observable<Tab[]>;
973
975
  get(): Observable<Tab[]>;
976
+ listTabs(): Observable<Tab[]>;
974
977
  static ɵfac: i0.ɵɵFactoryDeclaration<AuthConfigurationTabsFactory, never>;
975
978
  static ɵprov: i0.ɵɵInjectableDeclaration<AuthConfigurationTabsFactory>;
976
979
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../auth-configuration/basic-settings/basic-settings.model.ts","../../auth-configuration/basic-settings/auth-configuration.model.ts","../../auth-configuration/basic-settings/session-configuration.component.ts","../../auth-configuration/basic-settings/login-settings.component.ts","../../auth-configuration/basic-settings/basic-auth-settings.component.ts","../../auth-configuration/basic-settings/tenant-login-option.mapper.ts","../../auth-configuration/basic-settings/auth-configuration.service.ts","../../auth-configuration/basic-settings/auth-configuration.component.ts","../../auth-configuration/basic-settings/tfa-settings.component.ts","../../auth-configuration/basic-settings/basic-settings.module.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/paginated-list-group.component.ts","../../auth-configuration/sso-configuration/sso-configuration.model.ts","../../auth-configuration/sso-configuration/sso-configuration.service.ts","../../auth-configuration/sso-configuration/sso-configuration.component.ts","../../auth-configuration/sso-configuration/templates/sso-configuration.mapper.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.model.ts","../../auth-configuration/sso-configuration/templates/custom.model.ts","../../auth-configuration/sso-configuration/templates/custom-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/template.component.ts","../../auth-configuration/sso-configuration/templates/custom-template.component.ts","../../auth-configuration/sso-configuration/templates/key-cloak.model.ts","../../auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/key-cloak-template.component.ts","../../auth-configuration/sso-configuration/templates/aad.model.ts","../../auth-configuration/sso-configuration/templates/aad-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/aad-template.component.ts","../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-id-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-data-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/logout-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.component.ts","../../auth-configuration/sso-configuration/sso-configuration.module.ts","../../auth-configuration/auth-configuration.module.ts","../../auth-configuration/factories/tabs.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../auth-configuration/basic-settings/basic-settings.model.ts","../../auth-configuration/basic-settings/auth-configuration.model.ts","../../auth-configuration/basic-settings/session-configuration.component.ts","../../auth-configuration/basic-settings/login-settings.component.ts","../../auth-configuration/basic-settings/basic-auth-settings.component.ts","../../auth-configuration/basic-settings/tenant-login-option.mapper.ts","../../auth-configuration/basic-settings/auth-configuration.service.ts","../../auth-configuration/basic-settings/auth-configuration.component.ts","../../auth-configuration/basic-settings/tfa-settings.component.ts","../../auth-configuration/basic-settings/basic-settings.module.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/paginated-list-group.component.ts","../../auth-configuration/sso-configuration/sso-configuration.model.ts","../../auth-configuration/sso-configuration/sso-configuration.service.ts","../../auth-configuration/sso-configuration/sso-configuration.component.ts","../../auth-configuration/sso-configuration/templates/sso-configuration.mapper.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.model.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.model.ts","../../auth-configuration/sso-configuration/templates/custom.model.ts","../../auth-configuration/sso-configuration/templates/custom-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/template.component.ts","../../auth-configuration/sso-configuration/templates/custom-template.component.ts","../../auth-configuration/sso-configuration/templates/key-cloak.model.ts","../../auth-configuration/sso-configuration/templates/key-cloak-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/key-cloak-template.component.ts","../../auth-configuration/sso-configuration/templates/aad.model.ts","../../auth-configuration/sso-configuration/templates/aad-configuration-mapper.ts","../../auth-configuration/sso-configuration/templates/aad-template.component.ts","../../auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/request-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-id-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/user-data-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/signature-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/logout-configuration.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.ts","../../auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.ts","../../auth-configuration/sso-configuration/template-parts/external-token-config.component.ts","../../auth-configuration/sso-configuration/sso-configuration.module.ts","../../auth-configuration/auth-configuration.module.ts","../../auth-configuration/factories/tabs.factory.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC5MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA2HuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAgBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA6MA;AAwDA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;AC35BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../echart/models/datapoints-graph-widget.model.ts","../../echart/models/chart.model.ts","../../echart/models/svg-icons.model.ts","../../echart/charts.component.ts","../../echart/services/chart-alarms.service.ts","../../echart/services/chart-events.service.ts","../../echart/services/chart-helpers.service.ts","../../echart/select-aggregated-datapoint/select-aggregated-datapoint.component.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;AAmBM;;;;AAKA;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;AAMA;;AAEA;AACA;AACA;AACA;;;AAGA;;;;;;;;;AAUI;;;;;;;;;AASJ;;;AAII;;AAEJ;AACA;;AAGI;;;AAIN;;AAEG;;AAGG;AAIN;AACE;AACA;AACD;AAED;AACM;;AAEL;AAED;;;;AAIM;;;;;;;AAQL;AAED;;;;;AAUE;;;;;AAGD;;AAGC;;AAEA;;AAEE;;AAEF;;;AACD;;;;;;;AAQC;AACA;AACD;AAEK;AACA;AAEA;AAEA;AAEN;;;;AAKA;;;;;;;;;;;;;AAcM;AACA;AAEA;;;;AAKA;;;;;;;;;;AAWL;AAED;;;;;;;;AAUE;AACA;AACD;;AC5MD;;;;;;AAMG;AACH;AACE;;;;AAIA;;;AACD;;;AAIA;;;AAIA;AAEK;AACA;AACJ;AACE;AACD;AACF;;AAGC;AACA;AACD;AAED;AACE;AACA;AACA;AACD;;AC3CD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AAED;;;;;;;;;;;ACyDA;AA4BE;;AAEA;;;;;;;;;;;;AAYK;AACK;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEV;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAyCA;;;;;AA2HuB;;;AAA4B;AAiDnD;AAOA;AAIA;AAwBA;AA6BA;AAWA;;;AAGG;AACH;AAcA;;;AAGG;AACH;AAmBA;AAeA;AA0BA;;AA8DA;;;AA6MA;AAwDA;AA0CA;AAkBA;AAWA;AAYA;;;AA6BD;;ACn6BD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAqCP;;AC/CD;AAEc;AAAQ;AAEpB;;;;;AAKG;AACG;;;AAuBP;;AChCD;AAEE;;;;AAIG;;;;;;;;;;;AAcH;AAcA;;;AAGD;;ACtBD;;AAqBW;AACC;AAEV;;AAGA;;;AAiBA;;;AAgBD;;;"}
@@ -1,30 +1,30 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, Component, Injectable, EventEmitter, NgModule, Output, inject, ChangeDetectorRef, ElementRef, Renderer2, TemplateRef, ContentChild, ViewChild } from '@angular/core';
2
+ import { Input, Component, Injectable, EventEmitter, inject, NgModule, Output, ChangeDetectorRef, ElementRef, Renderer2, TemplateRef, ContentChild, ViewChild } from '@angular/core';
3
+ import { map, catchError, tap, switchMap, shareReplay, take, filter, mergeAll, toArray } from 'rxjs/operators';
3
4
  import * as i2 from '@c8y/ngx-components';
4
- import { FormGroupComponent, C8yTranslatePipe, Permissions, C8yTranslateDirective, RequiredInputPlaceholderDirective, MinValidationDirective, MaxValidationDirective, MessagesComponent, MessageDirective, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IconDirective, HelpComponent, CoreModule, hookRoute, DefaultValidationDirective, memoize, SelectLegacyComponent, MoNamePipe, EmptyStateComponent, Status, NavigatorNode, hookTab, hookNavigator, hookPatternMessages } from '@c8y/ngx-components';
5
+ import { FormGroupComponent, C8yTranslatePipe, Permissions, C8yTranslateDirective, RequiredInputPlaceholderDirective, MinValidationDirective, MaxValidationDirective, MessagesComponent, MessageDirective, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IconDirective, HelpComponent, CoreModule, hookRoute, DefaultValidationDirective, memoize, SelectLegacyComponent, MoNamePipe, EmptyStateComponent, Status, TabsService, NavigatorNode, hookTab, hookNavigator, hookPatternMessages } from '@c8y/ngx-components';
5
6
  import * as i1$1 from '@c8y/client';
6
- import { TenantLoginOptionType, TfaStrategy, GrantType, UserManagementSource } from '@c8y/client';
7
+ import { TenantLoginOptionType, TfaStrategy, GrantType, UserManagementSource, TenantLoginOptionsService } from '@c8y/client';
7
8
  import * as i1 from '@angular/forms';
8
9
  import { NgForm, ControlContainer, FormsModule } from '@angular/forms';
9
10
  import * as i1$2 from '@angular/common';
10
11
  import { NgIf, NgFor, NgSwitch, NgSwitchCase, NgClass, AsyncPipe, KeyValuePipe } from '@angular/common';
11
12
  import { PopoverDirective, PopoverModule } from 'ngx-bootstrap/popover';
12
- import { map, catchError, tap, switchMap, shareReplay, publishReplay, refCount, take, mapTo, mergeAll, toArray } from 'rxjs/operators';
13
- import { forkJoin, from, of, BehaviorSubject, defer, throwError, Subject, EMPTY, merge } from 'rxjs';
13
+ import { forkJoin, from, of, BehaviorSubject, defer, throwError, Subject, merge, firstValueFrom, shareReplay as shareReplay$1 } from 'rxjs';
14
14
  import { isString, omit, defaults, omitBy, isEmpty, cloneDeep, isFinite, pickBy, identity, map as map$1, pick, findKey, has, get, reduce, pull, defaultsDeep, at, head, reject, isUndefined } from 'lodash-es';
15
15
  import { gettext } from '@c8y/ngx-components/gettext';
16
16
  import * as i2$1 from '@ngx-translate/core';
17
+ import { HttpStatusCode } from '@angular/common/http';
17
18
  import { TooltipDirective, TooltipModule } from 'ngx-bootstrap/tooltip';
18
19
  import * as i1$4 from 'ngx-bootstrap/collapse';
19
20
  import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
20
- import { HttpStatusCode } from '@angular/common/http';
21
21
  import { __decorate, __metadata } from 'tslib';
22
22
  import * as i4 from 'ngx-bootstrap/pagination';
23
23
  import { PaginationModule } from 'ngx-bootstrap/pagination';
24
24
  import * as i1$3 from 'ngx-bootstrap/modal';
25
25
  import { AssetSelectorComponent, AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';
26
26
  import { BsDatepickerInputDirective, BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';
27
- import * as i1$5 from '@angular/router';
27
+ import { Router } from '@angular/router';
28
28
 
29
29
  class UserAgent {
30
30
  constructor(value) {
@@ -789,6 +789,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
789
789
  ], template: "<c8y-title>{{ 'Authentication' | translate }}</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'cog'\"\n [label]=\"'Settings' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'cog'\"\n [label]=\"'Authentication' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n (click)=\"loadAuthConfig()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading$ | async }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/authentication/basic-settings/#basic-settings\"></c8y-help>\n\n<form\n class=\"card card--fullpage\"\n #authConfigurationForm=\"ngForm\"\n novalidate\n>\n <div class=\"card-header separator\">\n <div class=\"card-title\">\n {{ 'Authentication' | translate }}\n </div>\n </div>\n <div\n class=\"inner-scroll\"\n *ngIf=\"authConfiguration\"\n >\n <c8y-login-settings [authConfiguration]=\"authConfiguration\"></c8y-login-settings>\n <c8y-basic-auth-settings [authConfiguration]=\"authConfiguration\"></c8y-basic-auth-settings>\n <c8y-session-configuration [authConfiguration]=\"authConfiguration\"></c8y-session-configuration>\n <c8y-auth-tfa [authConfiguration]=\"authConfiguration\"></c8y-auth-tfa>\n </div>\n <div class=\"card-footer separator\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n (click)=\"save()\"\n [disabled]=\"!authConfigurationForm.form.valid || authConfigurationForm.form.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n" }]
790
790
  }], ctorParameters: () => [{ type: AuthConfigurationService }, { type: i2.ModalService }, { type: i2.SimplifiedAuthService }, { type: i2.AlertService }] });
791
791
 
792
+ class BasicSettingsService {
793
+ constructor() {
794
+ this.loginOptionsService = inject(TenantLoginOptionsService);
795
+ this.showTab$ = defer(() => Promise.all([
796
+ this.loginOptionsService.detail(TenantLoginOptionType.BASIC),
797
+ this.loginOptionsService.detail(TenantLoginOptionType.OAUTH2_INTERNAL)
798
+ ])).pipe(map(() => true), catchError(({ res }) => {
799
+ // do not display tab if any login option fails with forbidden error:
800
+ if (res?.status === HttpStatusCode.Forbidden) {
801
+ return of(false);
802
+ }
803
+ return of(true);
804
+ }), shareReplay(1));
805
+ }
806
+ shouldShowTab$() {
807
+ return this.showTab$;
808
+ }
809
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
810
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, providedIn: 'root' }); }
811
+ }
812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsService, decorators: [{
813
+ type: Injectable,
814
+ args: [{
815
+ providedIn: 'root'
816
+ }]
817
+ }] });
818
+
819
+ class BasicSettingsGuard {
820
+ constructor() {
821
+ this.basicSettingsService = inject(BasicSettingsService);
822
+ }
823
+ canActivate() {
824
+ return this.basicSettingsService.shouldShowTab$();
825
+ }
826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
827
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard }); }
828
+ }
829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsGuard, decorators: [{
830
+ type: Injectable
831
+ }] });
832
+
792
833
  class BasicSettingsModule {
793
834
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
794
835
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, imports: [CoreModule,
@@ -801,10 +842,11 @@ class BasicSettingsModule {
801
842
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: BasicSettingsModule, providers: [
802
843
  AuthConfigurationService,
803
844
  TenantLoginOptionMapper,
845
+ BasicSettingsGuard,
804
846
  hookRoute({
805
847
  path: 'auth-configuration/basic_settings',
806
848
  component: AuthConfigurationComponent,
807
- canActivate: [AuthConfigurationGuard]
849
+ canActivate: [AuthConfigurationGuard, BasicSettingsGuard]
808
850
  })
809
851
  ], imports: [CoreModule,
810
852
  PopoverModule,
@@ -830,10 +872,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
830
872
  providers: [
831
873
  AuthConfigurationService,
832
874
  TenantLoginOptionMapper,
875
+ BasicSettingsGuard,
833
876
  hookRoute({
834
877
  path: 'auth-configuration/basic_settings',
835
878
  component: AuthConfigurationComponent,
836
- canActivate: [AuthConfigurationGuard]
879
+ canActivate: [AuthConfigurationGuard, BasicSettingsGuard]
837
880
  })
838
881
  ]
839
882
  }]
@@ -873,10 +916,10 @@ class SsoConfigurationService {
873
916
  this.loginOptionsService = loginOptionsService;
874
917
  this.ssoConfiguration$ = defer(() => this.loginOptionsService.detail(TenantLoginOptionType.OAUTH2)).pipe(map(res => res.data), catchError(({ res }) => {
875
918
  if (res.status === HttpStatusCode.Forbidden)
876
- return throwError(new Error());
919
+ return throwError(() => new Error());
877
920
  else
878
921
  return of(this.defaultConfiguration);
879
- }), publishReplay(1, 1000), refCount(), take(1));
922
+ }), shareReplay({ bufferSize: 1, windowTime: 1000, refCount: true }), take(1));
880
923
  this.defaultConfiguration = {
881
924
  authorizationRequest: {
882
925
  body: '',
@@ -964,6 +1007,9 @@ class SsoConfigurationService {
964
1007
  save(ssoConfiguration) {
965
1008
  return this.loginOptionsService.save(ssoConfiguration);
966
1009
  }
1010
+ shouldShowTab$() {
1011
+ return this.getSsoConfiguration$().pipe(map(() => true), catchError(() => of(false)), shareReplay(1));
1012
+ }
967
1013
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationService, deps: [{ token: i1$1.TenantLoginOptionsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
968
1014
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationService, providedIn: 'root' }); }
969
1015
  }
@@ -2524,18 +2570,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2524
2570
  }] } });
2525
2571
 
2526
2572
  class SsoConfigurationGuard {
2527
- constructor(ssoConfigurationService) {
2528
- this.ssoConfigurationService = ssoConfigurationService;
2573
+ constructor() {
2574
+ this.ssoConfigurationService = inject(SsoConfigurationService);
2529
2575
  }
2530
2576
  canActivate() {
2531
- return this.ssoConfigurationService.getSsoConfiguration$().pipe(mapTo(true), catchError(() => of(false)));
2577
+ return this.ssoConfigurationService.shouldShowTab$();
2532
2578
  }
2533
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, deps: [{ token: SsoConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2579
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2534
2580
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard }); }
2535
2581
  }
2536
2582
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationGuard, decorators: [{
2537
2583
  type: Injectable
2538
- }], ctorParameters: () => [{ type: SsoConfigurationService }] });
2584
+ }] });
2539
2585
 
2540
2586
  class SsoConfigurationModule {
2541
2587
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SsoConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -2640,65 +2686,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2640
2686
  }] });
2641
2687
 
2642
2688
  class AuthConfigurationTabsFactory {
2643
- constructor(router, ssoConfigurationService) {
2644
- this.router = router;
2645
- this.ssoConfigurationService = ssoConfigurationService;
2689
+ constructor() {
2690
+ this.router = inject(Router);
2691
+ this.tabsService = inject(TabsService);
2692
+ this.basicSettingsService = inject(BasicSettingsService);
2693
+ this.ssoConfigurationService = inject(SsoConfigurationService);
2694
+ this.tabs$ = defer(() => {
2695
+ const basicSettingsTab$ = this.basicSettingsService.shouldShowTab$().pipe(filter(shouldShow => shouldShow), map(() => ({
2696
+ path: 'auth-configuration/basic_settings',
2697
+ label: gettext('Basic settings'),
2698
+ icon: 'unlock-alt',
2699
+ priority: 1100,
2700
+ orientation: 'horizontal'
2701
+ })));
2702
+ const ssoTab$ = this.ssoConfigurationService.shouldShowTab$().pipe(filter(shouldShow => shouldShow), map(() => ({
2703
+ path: 'auth-configuration/single_sign-on',
2704
+ label: gettext('Single sign-on'),
2705
+ icon: 'sign-in',
2706
+ priority: 1050,
2707
+ orientation: 'horizontal'
2708
+ })));
2709
+ return merge([basicSettingsTab$, ssoTab$]).pipe(mergeAll(), toArray());
2710
+ }).pipe(shareReplay(1));
2646
2711
  }
2647
2712
  get() {
2648
2713
  if (!this.router.url.match(/auth-configuration/g)) {
2649
2714
  return of([]);
2650
2715
  }
2651
- const basicSettingsTab$ = of({
2652
- path: 'auth-configuration/basic_settings',
2653
- label: gettext('Basic settings'),
2654
- icon: 'unlock-alt',
2655
- priority: 1100,
2656
- orientation: 'horizontal'
2657
- });
2658
- const ssoTab$ = this.ssoConfigurationService.getSsoConfiguration$().pipe(mapTo({
2659
- path: 'auth-configuration/single_sign-on',
2660
- label: gettext('Single sign-on'),
2661
- icon: 'sign-in',
2662
- priority: 1050,
2663
- orientation: 'horizontal'
2664
- }), catchError(() => EMPTY));
2665
- return merge([basicSettingsTab$, ssoTab$]).pipe(mergeAll(), toArray());
2666
- }
2667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, deps: [{ token: i1$5.Router }, { token: SsoConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2716
+ return this.tabs$;
2717
+ }
2718
+ listTabs() {
2719
+ return this.tabs$.pipe(map(tabs => this.tabsService.sortTabs(tabs)));
2720
+ }
2721
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2668
2722
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory }); }
2669
2723
  }
2670
2724
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationTabsFactory, decorators: [{
2671
2725
  type: Injectable
2672
- }], ctorParameters: () => [{ type: i1$5.Router }, { type: SsoConfigurationService }] });
2726
+ }] });
2673
2727
 
2674
2728
  class AuthConfigurationNavigationFactory {
2675
- constructor(permissions) {
2676
- this.permissions = permissions;
2677
- this.navs = [];
2729
+ constructor() {
2730
+ this.permissions = inject(Permissions);
2731
+ this.tabsFactory = inject(AuthConfigurationTabsFactory);
2732
+ this.navs$ = defer(async () => {
2733
+ const navs = [];
2734
+ const userHasPermission = this.permissions.hasAnyRole([
2735
+ Permissions.ROLE_TENANT_ADMIN,
2736
+ Permissions.ROLE_TENANT_MANAGEMENT_ADMIN
2737
+ ]);
2738
+ const tabs = await firstValueFrom(this.tabsFactory.listTabs());
2739
+ const hasTabs = tabs && tabs.length > 0;
2740
+ if (userHasPermission && hasTabs) {
2741
+ navs.push(new NavigatorNode({
2742
+ label: gettext('Authentication'),
2743
+ icon: 'c8y-shield',
2744
+ path: '/auth-configuration',
2745
+ parent: gettext('Settings'),
2746
+ routerLinkExact: false,
2747
+ priority: 2000
2748
+ }));
2749
+ }
2750
+ return navs;
2751
+ }).pipe(shareReplay$1(1));
2678
2752
  }
2679
2753
  async get() {
2680
- const userHasPermission = this.permissions.hasAnyRole([
2681
- Permissions.ROLE_TENANT_ADMIN,
2682
- Permissions.ROLE_TENANT_MANAGEMENT_ADMIN
2683
- ]);
2684
- if (this.navs.length === 0 && userHasPermission) {
2685
- this.navs.push(new NavigatorNode({
2686
- label: gettext('Authentication'),
2687
- icon: 'c8y-shield',
2688
- path: '/auth-configuration',
2689
- parent: gettext('Settings'),
2690
- routerLinkExact: false,
2691
- priority: 2000
2692
- }));
2693
- }
2694
- return this.navs;
2754
+ return firstValueFrom(this.navs$);
2695
2755
  }
2696
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, deps: [{ token: i2.Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); }
2756
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2697
2757
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory }); }
2698
2758
  }
2699
2759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationNavigationFactory, decorators: [{
2700
2760
  type: Injectable
2701
- }], ctorParameters: () => [{ type: i2.Permissions }] });
2761
+ }] });
2702
2762
 
2703
2763
  const MESSAGES_AUTH_CONFIGURATION = {
2704
2764
  '^The tenant option: configuration/tenant.login.ignore-case cannot be enabled : Username or alias is duplicated when case sensitivity is ignored.$': {
@@ -2717,12 +2777,19 @@ class AuthConfigurationModule {
2717
2777
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationModule, imports: [BasicSettingsModule, SsoConfigurationModule] }); }
2718
2778
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AuthConfigurationModule, providers: [
2719
2779
  AuthConfigurationGuard,
2780
+ AuthConfigurationTabsFactory,
2720
2781
  hookTab(AuthConfigurationTabsFactory),
2721
2782
  hookNavigator(AuthConfigurationNavigationFactory),
2722
2783
  hookPatternMessages(MESSAGES_AUTH_CONFIGURATION),
2723
2784
  hookRoute({
2724
2785
  path: 'auth-configuration',
2725
- redirectTo: 'auth-configuration/basic_settings',
2786
+ redirectTo: () => {
2787
+ const tabsFactory = inject(AuthConfigurationTabsFactory);
2788
+ return tabsFactory.listTabs().pipe(map(tabs => {
2789
+ const firstPath = tabs[0]?.path;
2790
+ return typeof firstPath === 'string' ? firstPath : null;
2791
+ }));
2792
+ },
2726
2793
  pathMatch: 'full'
2727
2794
  })
2728
2795
  ], imports: [BasicSettingsModule, SsoConfigurationModule] }); }
@@ -2733,12 +2800,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2733
2800
  imports: [BasicSettingsModule, SsoConfigurationModule],
2734
2801
  providers: [
2735
2802
  AuthConfigurationGuard,
2803
+ AuthConfigurationTabsFactory,
2736
2804
  hookTab(AuthConfigurationTabsFactory),
2737
2805
  hookNavigator(AuthConfigurationNavigationFactory),
2738
2806
  hookPatternMessages(MESSAGES_AUTH_CONFIGURATION),
2739
2807
  hookRoute({
2740
2808
  path: 'auth-configuration',
2741
- redirectTo: 'auth-configuration/basic_settings',
2809
+ redirectTo: () => {
2810
+ const tabsFactory = inject(AuthConfigurationTabsFactory);
2811
+ return tabsFactory.listTabs().pipe(map(tabs => {
2812
+ const firstPath = tabs[0]?.path;
2813
+ return typeof firstPath === 'string' ? firstPath : null;
2814
+ }));
2815
+ },
2742
2816
  pathMatch: 'full'
2743
2817
  })
2744
2818
  ]