diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 4c3b157..a70a0ef 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,16 +5,16 @@ import {HomeComponent} from './controllers/main/home/home.component'; import {LoginComponent} from './controllers/main/login/login.component'; import {RegisterComponent} from './controllers/main/register/register.component'; import {LogoutComponent} from './controllers/main/logout/logout.component'; -import {PanelHomeComponent} from './controllers/legacy/panel/panel-home/panel-home.component'; -import {PanelCreateComponent} from './controllers/legacy/panel/panel-create/panel-create.component'; -import {PanelMinecraftPluginsComponent} from './controllers/legacy/panel/panel-minecraft-plugins/panel-minecraft-plugins.component'; -import {PanelPluginsComponent} from './controllers/legacy/panel/panel-plugins/panel-plugins.component'; -import {PanelSubownersComponent} from './controllers/legacy/panel/panel-subowners/panel-subowners.component'; -import {PanelSettingsComponent} from './controllers/legacy/panel/panel-settings/panel-settings.component'; +import {PanelHomeComponent} from './controllers/panel/panel-home/panel-home.component'; +import {PanelCreateComponent} from './controllers/panel/panel-create/panel-create.component'; +import {PanelMinecraftPluginsComponent} from './controllers/panel/panel-minecraft-plugins/panel-minecraft-plugins.component'; +import {PanelPluginsComponent} from './controllers/panel/panel-plugins/panel-plugins.component'; +import {PanelSubownersComponent} from './controllers/panel/panel-subowners/panel-subowners.component'; +import {PanelSettingsComponent} from './controllers/panel/panel-settings/panel-settings.component'; import {ProfileComponent} from './controllers/main/profile/profile.component'; import {ChangePasswordComponent} from './controllers/main/change-password/change-password.component'; -import {PanelFilesComponent} from './controllers/legacy/panel/panel-files/panel-files.component'; -import {PanelFileEditorComponent} from './controllers/legacy/panel/panel-file-editor/panel-file-editor.component'; +import {PanelFilesComponent} from './controllers/panel/panel-files/panel-files.component'; +import {PanelFileEditorComponent} from './controllers/panel/panel-file-editor/panel-file-editor.component'; import {DeauthGuardService} from './services/middleware/deauth-guard.service'; import {AuthGuardService} from './services/middleware/auth-guard.service'; import {ServerGuardService} from './services/middleware/server-guard.service'; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 135503a..670bbfb 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -13,20 +13,20 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http'; import {LogoutComponent} from './controllers/main/logout/logout.component'; import {APIInterceptor} from './interceptors/apiinterceptor'; -import {PanelHomeComponent} from './controllers/legacy/panel/panel-home/panel-home.component'; -import {PanelCreateComponent} from './controllers/legacy/panel/panel-create/panel-create.component'; -import {PanelMinecraftPluginsComponent} from './controllers/legacy/panel/panel-minecraft-plugins/panel-minecraft-plugins.component'; +import {PanelHomeComponent} from './controllers/panel/panel-home/panel-home.component'; +import {PanelCreateComponent} from './controllers/panel/panel-create/panel-create.component'; +import {PanelMinecraftPluginsComponent} from './controllers/panel/panel-minecraft-plugins/panel-minecraft-plugins.component'; import {NotifierModule, NotifierOptions, NotifierService} from 'angular-notifier'; -import {PanelFrameComponent} from './controllers/legacy/panel/panel-frame/panel-frame.component'; -import {PanelSettingsComponent} from './controllers/legacy/panel/panel-settings/panel-settings.component'; -import {PanelPluginsComponent} from './controllers/legacy/panel/panel-plugins/panel-plugins.component'; -import {PanelSubownersComponent} from './controllers/legacy/panel/panel-subowners/panel-subowners.component'; +import {PanelFrameComponent} from './controllers/panel/panel-frame/panel-frame.component'; +import {PanelSettingsComponent} from './controllers/panel/panel-settings/panel-settings.component'; +import {PanelPluginsComponent} from './controllers/panel/panel-plugins/panel-plugins.component'; +import {PanelSubownersComponent} from './controllers/panel/panel-subowners/panel-subowners.component'; import {RecaptchaModule} from 'ng-recaptcha'; import {RecaptchaFormsModule} from 'ng-recaptcha/forms'; import {ProfileComponent} from './controllers/main/profile/profile.component'; import {ChangePasswordComponent} from './controllers/main/change-password/change-password.component'; -import {PanelFilesComponent} from './controllers/legacy/panel/panel-files/panel-files.component'; -import {PanelFileEditorComponent} from './controllers/legacy/panel/panel-file-editor/panel-file-editor.component'; +import {PanelFilesComponent} from './controllers/panel/panel-files/panel-files.component'; +import {PanelFileEditorComponent} from './controllers/panel/panel-file-editor/panel-file-editor.component'; import {ServiceLocator} from './service.injector'; import {AuthService} from './services/auth.service'; import {CurrentServerService} from './services/current-server.service'; diff --git a/src/app/controllers/main/change-password/change-password.component.ts b/src/app/controllers/main/change-password/change-password.component.ts index a3b4882..641fc12 100644 --- a/src/app/controllers/main/change-password/change-password.component.ts +++ b/src/app/controllers/main/change-password/change-password.component.ts @@ -1,8 +1,8 @@ import {Component, OnInit} from '@angular/core'; import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {Router} from '@angular/router'; -import {PasswordValidation} from '../../../../password-validation'; -import {AuthenticationService} from '../../../../services/legacy/authentication.service'; +import {AuthService} from '../../../services/auth.service'; +import {PasswordValidation} from '../../../password-validation'; @Component({ selector: 'app-change-password', @@ -16,7 +16,9 @@ export class ChangePasswordComponent implements OnInit { submitted = false; error: string; - constructor(private formBuilder: FormBuilder, private router: Router, private auth: AuthenticationService) { + constructor(private formBuilder: FormBuilder, + private router: Router, + private auth: AuthService) { } ngOnInit() { @@ -29,28 +31,22 @@ export class ChangePasswordComponent implements OnInit { }); } - onSubmit() { + onSubmit = async (): Promise => { this.submitted = true; if (this.changeForm.invalid) { return; } this.loading = true; - // this.auth.register(this.newUser).subscribe((data) => { - // if(this.returnUrl === undefined){ - // this.router.navigateByUrl('/login'); //Good login! Return to dash w/o returnUrl - // }else{ - // this.router.navigateByUrl('/login?returnUrl=' + this.returnUrl); //Good login! Return to dash /w returnUrl - // } - // }, (err) => { - // this.error = err; - // }); - this.auth.changePassword(this.changeForm.controls.cPassword.value, this.changeForm.controls.password.value).subscribe(data => { + + try { + await this.auth.changePassword(this.changeForm.controls.cPassword.value, this.changeForm.controls.password.value); this.router.navigateByUrl('/account'); - }, (err) => { - this.error = err; - this.loading = false; - this.submitted = false; - }); - } + } catch (e) { + this.error = e; + } + + this.loading = false; + this.submitted = false; + }; } diff --git a/src/app/controllers/main/login/login.component.ts b/src/app/controllers/main/login/login.component.ts index 4d5aecd..1a03180 100644 --- a/src/app/controllers/main/login/login.component.ts +++ b/src/app/controllers/main/login/login.component.ts @@ -1,9 +1,8 @@ import {Component, OnInit} from '@angular/core'; import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {ActivatedRoute, NavigationEnd, Router} from '@angular/router'; -import {TokenPayload} from '../../../../core/models/legacy/token-payload'; -import {AuthenticationService} from '../../../services/legacy/authentication.service'; -import {SelectedServerService} from '../../../services/legacy/selected-server.service'; +import {AuthService, TokenPayload} from '../../../services/auth.service'; +import {CurrentServerService} from '../../../services/current-server.service'; @Component({ selector: 'app-login', @@ -24,8 +23,11 @@ export class LoginComponent implements OnInit { error: string; returnUrlSet = false; - constructor(private formBuilder: FormBuilder, private route: ActivatedRoute, - private router: Router, private auth: AuthenticationService, private selectedServer: SelectedServerService) { + constructor(private formBuilder: FormBuilder, + private route: ActivatedRoute, + private router: Router, + private auth: AuthService, + private currentServer: CurrentServerService) { } ngOnInit() { @@ -47,7 +49,7 @@ export class LoginComponent implements OnInit { }); } - onSubmit() { + onSubmit = async (): Promise => { this.submitted = true; if (this.loginForm.invalid) { return; @@ -55,15 +57,15 @@ export class LoginComponent implements OnInit { this.loading = true; this.credentials.email = this.loginForm.controls.email.value; this.credentials.password = this.loginForm.controls.password.value; - this.auth.login(this.credentials).subscribe(() => { - this.selectedServer.updateCache(false, () => { - this.router.navigateByUrl(this.returnUrl); // Good login! Return to dash. - }); - }, (err) => { - this.loading = false; - this.submitted = false; - this.error = err; - }); - } + try { + await this.auth.authorize(this.credentials); + await this.currentServer.updateCache(true); + await this.router.navigateByUrl(this.returnUrl); + } catch (e) { + this.error = e; + } + this.loading = false; + this.submitted = false; + }; } diff --git a/src/app/controllers/main/logout/logout.component.ts b/src/app/controllers/main/logout/logout.component.ts index ba45ac7..b015aff 100644 --- a/src/app/controllers/main/logout/logout.component.ts +++ b/src/app/controllers/main/logout/logout.component.ts @@ -1,7 +1,7 @@ import {Component, OnInit} from '@angular/core'; -import {AuthenticationService} from '../../../../services/legacy/authentication.service'; import {Router} from '@angular/router'; -import {SelectedServerService} from '../../../../services/legacy/selected-server.service'; +import {AuthService} from '../../../services/auth.service'; +import {CurrentServerService} from '../../../services/current-server.service'; @Component({ selector: 'app-logout', @@ -10,20 +10,20 @@ import {SelectedServerService} from '../../../../services/legacy/selected-server }) export class LogoutComponent implements OnInit { - constructor(private auth: AuthenticationService, private router: Router, private selectedServer: SelectedServerService) { + constructor(private auth: AuthService, + private router: Router, + private currentServer: CurrentServerService) { } ngOnInit() { - this.router.navigateByUrl('/login').then(() => { // remove user from local storage to log user out localStorage.removeItem('session'); - this.auth.clearUser(); + this.auth.user = undefined; // Make sure we clear the server on logout - this.selectedServer.servers = undefined; - this.selectedServer.setCurrentServer(undefined, false); + this.currentServer.servers = undefined; + this.currentServer.currentServer = undefined; }); } - } diff --git a/src/app/controllers/main/navbar/navbar.component.html b/src/app/controllers/main/navbar/navbar.component.html index 5cdb9f1..4a52ecc 100644 --- a/src/app/controllers/main/navbar/navbar.component.html +++ b/src/app/controllers/main/navbar/navbar.component.html @@ -26,7 +26,8 @@ Register