Skip to content

Commit 85d2df0

Browse files
committed
Parses response correctly
1 parent d4aeb1c commit 85d2df0

7 files changed

Lines changed: 67 additions & 42 deletions

File tree

proxy.conf.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,2 @@
11
{
2-
"/api": {
3-
"target": "http://localhost:8080",
4-
"secure": true,
5-
"changeOrigin": true,
6-
"pathRewrite": {
7-
"^/api": ""
8-
}
9-
}
102
}

src/app/api/model/pageable.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Sort } from "./sort";
2+
3+
export interface Pageable {
4+
offset: number;
5+
pageNumber: number;
6+
pageSize: number;
7+
paged: boolean;
8+
sort: Sort;
9+
unpaged: boolean;
10+
}

src/app/api/model/response.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Pageable } from "./pageable";
2+
import { Sort } from "./sort";
3+
4+
export interface Response<T> {
5+
content: T;
6+
empty: boolean;
7+
first: boolean;
8+
last: boolean;
9+
number: number;
10+
numberOfElements: number;
11+
pageable: Pageable;
12+
size: number;
13+
sort: Sort;
14+
totalElements: number;
15+
totalPages: number;
16+
}

src/app/api/model/sort.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export interface Sort {
2+
empty: boolean;
3+
sorted: boolean;
4+
unsorted: boolean;
5+
}

src/app/authentication/service/authentication.service.ts

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,45 @@ import { environment } from '@environments/environment';
44
import { Observable } from 'rxjs';
55
import { map } from 'rxjs/operators';
66
import { User } from '../model/user';
7+
import { Response } from '@app/api/model/response';
78

89
@Injectable({
9-
providedIn: 'root',
10+
providedIn: 'root',
1011
})
1112
export class AuthenticationService {
1213

13-
public user: User = new User();
14-
15-
constructor(
16-
private http: HttpClient
17-
) { }
18-
19-
login(username: string, password: string): Observable<User> {
20-
return this.http.post<User>(`${environment.apiUrl}/auth/login/`, { username, password })
21-
.pipe(map(user => {
22-
let loggedUser;
23-
24-
if (user) {
25-
loggedUser = user;
26-
const token = window.btoa(username + ':' + password);
27-
loggedUser.logged = true;
28-
loggedUser.token = token;
29-
} else {
30-
loggedUser = new User();
31-
}
32-
33-
this.user = loggedUser;
34-
return this.user;
35-
}));
36-
}
37-
38-
logout() {
39-
this.user = new User();
40-
}
41-
42-
getUser(): User {
14+
public user: User = new User();
15+
16+
constructor(
17+
private http: HttpClient
18+
) { }
19+
20+
login(username: string, password: string): Observable<User> {
21+
return this.http.post<Response<User>>(`${environment.apiUrl}/login/`, { username, password })
22+
.pipe(map(response => response.content))
23+
.pipe(map(user => {
24+
let loggedUser;
25+
26+
if (user) {
27+
loggedUser = user;
28+
const token = window.btoa(username + ':' + password);
29+
loggedUser.logged = true;
30+
loggedUser.token = token;
31+
} else {
32+
loggedUser = new User();
33+
}
34+
35+
this.user = loggedUser;
4336
return this.user;
44-
}
37+
}));
38+
}
39+
40+
logout() {
41+
this.user = new User();
42+
}
43+
44+
getUser(): User {
45+
return this.user;
46+
}
4547

4648
}

src/app/login/login-form/login-form.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ActivatedRoute, Router } from '@angular/router';
44
import { AuthenticationService } from '@app/authentication/service/authentication.service';
55

66
@Component({
7-
selector: 'dahs-login-form',
7+
selector: 'login-form',
88
templateUrl: './login-form.component.html',
99
styleUrls: ['./login-form.component.sass']
1010
})

src/app/login/logout-button/logout-button.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Component } from '@angular/core';
22
import { AuthenticationService } from '@app/authentication/service/authentication.service';
33

44
@Component({
5-
selector: 'dahs-logout-button',
5+
selector: 'logout-button',
66
templateUrl: './logout-button.component.html',
77
styleUrls: ['./logout-button.component.css']
88
})

0 commit comments

Comments
 (0)