diff --git a/alfa-client/apps/admin/src/app/app.component.html b/alfa-client/apps/admin/src/app/app.component.html index 65908eea9a1e5aed4b36757589c1cd7d6e29d1d8..87dbc4de9c89698e3ba41a8f9abb26db5ebb4f05 100644 --- a/alfa-client/apps/admin/src/app/app.component.html +++ b/alfa-client/apps/admin/src/app/app.component.html @@ -11,18 +11,21 @@ <div class="w-72 bg-slate-100 p-6"> <nav> <admin-navigation - *ngIf="hasConfigurationLink(apiRoot)" + *ngIf="apiRoot | hasLink: ApiRootLinkRel.CONFIGURATION" data-test-id="navigation" ></admin-navigation> </nav> </div> <main class="flex-auto overflow-y-auto bg-slate-200 p-6"> <router-outlet - *ngIf="hasConfigurationLink(apiRoot); else configurationResourceLinkNotAvailable" + *ngIf=" + apiRoot | hasLink: ApiRootLinkRel.CONFIGURATION; + else configurationResourceLinkNotAvailable + " data-test-id="router-outlet" ></router-outlet> <ng-template #configurationResourceLinkNotAvailable> - <unavailable-page>Content to render when condition is false.</unavailable-page> + <unavailable-page></unavailable-page> </ng-template> </main> </div> diff --git a/alfa-client/apps/admin/src/app/app.component.spec.ts b/alfa-client/apps/admin/src/app/app.component.spec.ts index 1aa58ae35d2ec80526d803c8f92e46b5392898bd..3fa47f553b5adab8c940a6c1e1fdcc499722f4c0 100644 --- a/alfa-client/apps/admin/src/app/app.component.spec.ts +++ b/alfa-client/apps/admin/src/app/app.component.spec.ts @@ -36,13 +36,10 @@ describe('AppComponent', () => { login: jest.fn().mockResolvedValue(Promise.resolve()), }; - let configurationService: Mock<ConfigurationService>; - const router: Mock<Router> = mock(Router); const apiRootService: Mock<ApiRootService> = mock(ApiRootService); beforeEach(async () => { - configurationService = mock(ConfigurationService); await TestBed.configureTestingModule({ declarations: [ AppComponent, @@ -80,12 +77,6 @@ describe('AppComponent', () => { }); describe('ngOnInit', () => { - beforeEach(() => { - configurationService.getConfigurationResource.mockReturnValue( - of(createEmptyStateResource<ApiRootResource>()), - ); - }); - it('should call authService login', () => { component.ngOnInit(); @@ -136,7 +127,7 @@ describe('AppComponent', () => { describe('navigation', () => { beforeEach(() => {}); - it('should exist if configuration resource available', () => { + it('should exist if configuration link exists', () => { component.apiRootStateResource$ = of( createStateResource(createApiRootResource([ApiRootLinkRel.CONFIGURATION])), ); diff --git a/alfa-client/apps/admin/src/app/app.component.ts b/alfa-client/apps/admin/src/app/app.component.ts index babbbc304a6c57572c8ab90cd43e938597b14d02..cffa4bd597c449b8057f42f10f959fc1823ad230 100644 --- a/alfa-client/apps/admin/src/app/app.component.ts +++ b/alfa-client/apps/admin/src/app/app.component.ts @@ -4,7 +4,6 @@ import { Observable } from 'rxjs'; import { StateResource } from '@alfa-client/tech-shared'; import { Router } from '@angular/router'; import { AuthenticationService } from 'libs/authentication/src/lib/authentication.service'; -import { hasLink } from '@ngxp/rest'; @Component({ selector: 'app-root', @@ -15,7 +14,6 @@ export class AppComponent implements OnInit { readonly title = 'admin'; public apiRootStateResource$: Observable<StateResource<ApiRootResource>>; - configurationResourceAvailable$: Observable<boolean>; constructor( public authenticationService: AuthenticationService, @@ -32,7 +30,5 @@ export class AppComponent implements OnInit { this.router.navigate(['/']); } - hasConfigurationLink(apiRootResource: ApiRootResource): boolean { - return hasLink(apiRootResource, ApiRootLinkRel.CONFIGURATION); - } + protected readonly ApiRootLinkRel = ApiRootLinkRel; } diff --git a/alfa-client/apps/admin/src/app/app.module.ts b/alfa-client/apps/admin/src/app/app.module.ts index 66f8d20d914ec13ff089462ac2ef0a41dea73259..5036e2f54cfd969333b209f909b99becb1f99971 100644 --- a/alfa-client/apps/admin/src/app/app.module.ts +++ b/alfa-client/apps/admin/src/app/app.module.ts @@ -22,6 +22,7 @@ import { OAuthModule } from 'angular-oauth2-oidc'; import { HttpUnauthorizedInterceptor } from 'libs/authentication/src/lib/http-unauthorized.interceptor'; import { OrganisationseinheitPageComponent } from '../pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component'; import { UnavailablePageComponent } from '../pages/unavailable/unavailable-page/unavailable-page.component'; +import { TechSharedModule } from '@alfa-client/tech-shared'; @NgModule({ declarations: [ @@ -52,6 +53,7 @@ import { UnavailablePageComponent } from '../pages/unavailable/unavailable-page/ sendAccessToken: true, }, }), + TechSharedModule, ], providers: [ { diff --git a/alfa-client/libs/admin-settings/src/index.ts b/alfa-client/libs/admin-settings/src/index.ts index 2687bf6f3fc5b94df1b1d245dbc40acd8db03bdb..3d084df97dc2f7c3d8017257bbb86270dfe0af00 100644 --- a/alfa-client/libs/admin-settings/src/index.ts +++ b/alfa-client/libs/admin-settings/src/index.ts @@ -1,7 +1,4 @@ export * from './lib/admin-settings.module'; export * from './lib/postfach/postfach-container/postfach-container.component'; export * from './lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component'; -export * from './lib/configuration/configuration.model'; -export * from './lib/configuration/configuration.linkrel'; -export * from './lib/configuration/configuration.service'; export * from './lib/shared/navigation-item/navigation-item.component';