From e8bec983f1681a0d107106682114ac01b32a7301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kilchenmann?= Date: Wed, 15 Dec 2021 17:12:36 +0100 Subject: [PATCH] refactor(authentication): new login / logout structure (DEV-325) (#622) * refactor(login): new login structure * refactor(login): new login structure * refactor(login): new login structure * refactor(header): clean up code * refactor(tests): clean up tests * refactor(login): new login structure * fix(datadog): re-init data dog user * test(session): fix tests --- src/app/app-routing.module.ts | 6 +- src/app/app.component.spec.ts | 23 +--- src/app/app.module.ts | 6 +- .../login-form/login-form.component.html | 9 +- .../login-form/login-form.component.scss | 5 +- .../login-form/login-form.component.spec.ts | 22 ++-- .../action/login-form/login-form.component.ts | 109 ++++++++---------- src/app/main/error/error-handler.service.ts | 2 +- src/app/main/header/header.component.html | 8 +- src/app/main/header/header.component.spec.ts | 26 +++-- src/app/main/header/header.component.ts | 15 --- src/app/main/login/login.component.html | 3 - src/app/main/login/login.component.scss | 19 --- src/app/main/login/login.component.spec.ts | 78 ------------- src/app/main/login/login.component.ts | 48 -------- src/app/main/main.component.ts | 4 - .../services/authentication.service.spec.ts | 94 +++++++++++++++ .../main/services/authentication.service.ts | 47 ++++++++ .../main/services/datadog-rum.service.spec.ts | 7 +- src/app/main/services/datadog-rum.service.ts | 11 +- src/app/main/services/session.service.ts | 17 ++- .../user/user-menu/user-menu.component.html | 14 ++- .../user/user-menu/user-menu.component.scss | 9 +- .../user-menu/user-menu.component.spec.ts | 29 ++++- src/app/user/user-menu/user-menu.component.ts | 73 ++++++------ src/assets/style/main.scss | 8 ++ 26 files changed, 345 insertions(+), 347 deletions(-) delete mode 100644 src/app/main/login/login.component.html delete mode 100644 src/app/main/login/login.component.scss delete mode 100644 src/app/main/login/login.component.spec.ts delete mode 100644 src/app/main/login/login.component.ts create mode 100644 src/app/main/services/authentication.service.spec.ts create mode 100644 src/app/main/services/authentication.service.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 93165fc759..87d5c975c5 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,11 +2,11 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; import { AuthGuard } from './main/guard/auth.guard'; +import { CookiePolicyComponent } from './main/cookie-policy/cookie-policy.component'; import { ErrorComponent } from './main/error/error.component'; import { HelpComponent } from './main/help/help.component'; -import { LoginComponent } from './main/login/login.component'; +import { LoginFormComponent } from './main/action/login-form/login-form.component'; import { MainComponent } from './main/main.component'; -import { CookiePolicyComponent } from './main/cookie-policy/cookie-policy.component'; // project import { BoardComponent } from './project/board/board.component'; @@ -40,7 +40,7 @@ const routes: Routes = [ }, { path: 'login', - component: LoginComponent + component: LoginFormComponent }, { path: 'dashboard', diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 62de8b4612..d101135af3 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -7,15 +7,8 @@ import { MatMenuModule } from '@angular/material/menu'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { MatToolbarModule } from '@angular/material/toolbar'; import { RouterTestingModule } from '@angular/router/testing'; -import { KnoraApiConnection } from '@dasch-swiss/dsp-js'; import { TranslateModule } from '@ngx-translate/core'; -import { TestConfig } from 'test.config'; -import { AppInitService } from './app-init.service'; import { AppComponent } from './app.component'; -import { DspApiConfigToken, DspApiConnectionToken } from './main/declarations/dsp-api-tokens'; -import { HeaderComponent } from './main/header/header.component'; -import { SelectLanguageComponent } from './main/select-language/select-language.component'; -import { UserMenuComponent } from './user/user-menu/user-menu.component'; describe('AppComponent', () => { @@ -23,10 +16,7 @@ describe('AppComponent', () => { TestBed.configureTestingModule({ declarations: [ - AppComponent, - HeaderComponent, - SelectLanguageComponent, - UserMenuComponent + AppComponent ], imports: [ HttpClientTestingModule, @@ -38,17 +28,6 @@ describe('AppComponent', () => { MatToolbarModule, RouterTestingModule, TranslateModule.forRoot() - ], - providers: [ - AppInitService, - { - provide: DspApiConfigToken, - useValue: TestConfig.ApiConfig - }, - { - provide: DspApiConnectionToken, - useValue: new KnoraApiConnection(TestConfig.ApiConfig) - } ] }).compileComponents(); })); diff --git a/src/app/app.module.ts b/src/app/app.module.ts index fcf06cb989..945f16e454 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -39,7 +39,6 @@ import { FooterComponent } from './main/footer/footer.component'; import { GridComponent } from './main/grid/grid.component'; import { HeaderComponent } from './main/header/header.component'; import { HelpComponent } from './main/help/help.component'; -import { LoginComponent } from './main/login/login.component'; import { MainComponent } from './main/main.component'; import { FormattedBooleanPipe } from './main/pipes/formatting/formatted-boolean.pipe'; import { KnoraDatePipe } from './main/pipes/formatting/knoradate.pipe'; @@ -96,6 +95,7 @@ import { AddValueComponent } from './workspace/resource/operations/add-value/add import { DisplayEditComponent } from './workspace/resource/operations/display-edit/display-edit.component'; import { PropertiesComponent } from './workspace/resource/properties/properties.component'; import { AddRegionFormComponent } from './workspace/resource/representation/add-region-form/add-region-form.component'; +import { ArchiveComponent } from './workspace/resource/representation/archive/archive.component'; import { AudioComponent } from './workspace/resource/representation/audio/audio.component'; import { DocumentComponent } from './workspace/resource/representation/document/document.component'; import { StillImageComponent } from './workspace/resource/representation/still-image/still-image.component'; @@ -157,7 +157,6 @@ import { SearchSelectOntologyComponent } from './workspace/search/advanced-searc import { ExpertSearchComponent } from './workspace/search/expert-search/expert-search.component'; import { FulltextSearchComponent } from './workspace/search/fulltext-search/fulltext-search.component'; import { SearchPanelComponent } from './workspace/search/search-panel/search-panel.component'; -import { ArchiveComponent } from './workspace/resource/representation/archive/archive.component'; // translate: AoT requires an exported function for factories export function httpLoaderFactory(httpClient: HttpClient) { @@ -174,6 +173,7 @@ export function httpLoaderFactory(httpClient: HttpClient) { AdminImageDirective, AdvancedSearchComponent, AppComponent, + ArchiveComponent, AudioComponent, BoardComponent, BooleanValueComponent, @@ -229,7 +229,6 @@ export function httpLoaderFactory(httpClient: HttpClient) { ListItemFormComponent, ListValueComponent, ListViewComponent, - LoginComponent, LoginFormComponent, MainComponent, MembershipComponent, @@ -303,7 +302,6 @@ export function httpLoaderFactory(httpClient: HttpClient) { UsersListComponent, VisualizerComponent, YetAnotherDateValueComponent, - ArchiveComponent, ], imports: [ AngularSplitModule.forRoot(), diff --git a/src/app/main/action/login-form/login-form.component.html b/src/app/main/action/login-form/login-form.component.html index fe76dc0d4c..5466b9c05e 100644 --- a/src/app/main/action/login-form/login-form.component.html +++ b/src/app/main/action/login-form/login-form.component.html @@ -1,6 +1,6 @@
- +