From 2375abbdcf7ebe06c1a6f827ccb63e3bbe357973 Mon Sep 17 00:00:00 2001 From: kevinpauer Date: Tue, 15 Mar 2022 21:45:41 +0100 Subject: [PATCH] Finish Skeleton; Add and redesign login page --- .../src/app/Helpers/auth.interceptor.ts | 30 +++++++ .../src/app/Services/auth.service.ts | 42 +++++----- .../src/app/Services/data.service.ts | 24 +++--- .../src/app/Views/login/login.component.html | 4 +- .../src/app/Views/login/login.component.scss | 9 ++ .../src/app/Views/login/login.component.ts | 38 ++++----- .../Views/register/register.component.html | 84 +++++++++++++++++++ .../Views/register/register.component.scss | 0 .../Views/register/register.component.spec.ts | 25 ++++++ .../app/Views/register/register.component.ts | 34 ++++++++ .../Aktienbot/src/app/app-routing.module.ts | 22 ++++- .../Aktienbot/src/app/app.component.html | 5 +- .../Aktienbot/src/app/app.component.ts | 24 +++++- .../Frontend/Aktienbot/src/app/app.module.ts | 4 + webservice/Frontend/Aktienbot/src/index.html | 6 ++ webservice/Frontend/Aktienbot/src/styles.scss | 1 + 16 files changed, 291 insertions(+), 61 deletions(-) create mode 100644 webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts create mode 100644 webservice/Frontend/Aktienbot/src/app/Views/register/register.component.html create mode 100644 webservice/Frontend/Aktienbot/src/app/Views/register/register.component.scss create mode 100644 webservice/Frontend/Aktienbot/src/app/Views/register/register.component.spec.ts create mode 100644 webservice/Frontend/Aktienbot/src/app/Views/register/register.component.ts diff --git a/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts b/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts new file mode 100644 index 0000000..ff94e91 --- /dev/null +++ b/webservice/Frontend/Aktienbot/src/app/Helpers/auth.interceptor.ts @@ -0,0 +1,30 @@ +import { HTTP_INTERCEPTORS, HttpEvent } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { + HttpInterceptor, + HttpHandler, + HttpRequest, +} from '@angular/common/http'; +import { TokenStorageService } from '../Services/token.service'; +import { Observable } from 'rxjs'; +const TOKEN_HEADER_KEY = 'Authorization'; // for Spring Boot back-end +@Injectable() +export class AuthInterceptor implements HttpInterceptor { + constructor(private token: TokenStorageService) {} + intercept( + req: HttpRequest, + next: HttpHandler + ): Observable> { + let authReq = req; + const token = this.token.getToken(); + if (token != null) { + authReq = req.clone({ + headers: req.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token), + }); + } + return next.handle(authReq); + } +} +export const authInterceptorProviders = [ + { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, +]; diff --git a/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts b/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts index 234529f..ecf0ad2 100644 --- a/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts +++ b/webservice/Frontend/Aktienbot/src/app/Services/auth.service.ts @@ -10,25 +10,25 @@ const httpOptions = { }) export class AuthService { constructor(private http: HttpClient) {} - login(username: string, password: string): Observable { - return this.http.post( - AUTH_API + 'signin', - { - username, - password, - }, - httpOptions - ); - } - register(username: string, email: string, password: string): Observable { - return this.http.post( - AUTH_API + 'signup', - { - username, - email, - password, - }, - httpOptions - ); - } + // login(username: string, password: string): Observable { + // return this.http.post( + // AUTH_API + 'signin', + // { + // username, + // password, + // }, + // httpOptions + // ); + // } + // register(username: string, email: string, password: string): Observable { + // return this.http.post( + // AUTH_API + 'signup', + // { + // username, + // email, + // password, + // }, + // httpOptions + // ); + // } } diff --git a/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts b/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts index 3eacaf6..1710fc8 100644 --- a/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts +++ b/webservice/Frontend/Aktienbot/src/app/Services/data.service.ts @@ -7,16 +7,16 @@ const API_URL = 'http://localhost:8080/api/test/'; }) export class UserService { constructor(private http: HttpClient) {} - getPublicContent(): Observable { - return this.http.get(API_URL + 'all', { responseType: 'text' }); - } - getUserBoard(): Observable { - return this.http.get(API_URL + 'user', { responseType: 'text' }); - } - getModeratorBoard(): Observable { - return this.http.get(API_URL + 'mod', { responseType: 'text' }); - } - getAdminBoard(): Observable { - return this.http.get(API_URL + 'admin', { responseType: 'text' }); - } + // getPublicContent(): Observable { + // return this.http.get(API_URL + 'all', { responseType: 'text' }); + // } + // getUserBoard(): Observable { + // return this.http.get(API_URL + 'user', { responseType: 'text' }); + // } + // getModeratorBoard(): Observable { + // return this.http.get(API_URL + 'mod', { responseType: 'text' }); + // } + // getAdminBoard(): Observable { + // return this.http.get(API_URL + 'admin', { responseType: 'text' }); + // } } diff --git a/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html b/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html index 4110d39..2a9d0bd 100644 --- a/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html +++ b/webservice/Frontend/Aktienbot/src/app/Views/login/login.component.html @@ -1,5 +1,5 @@ -
-
+