@@ -4,43 +4,45 @@ import { environment } from '@environments/environment';
44import { Observable } from 'rxjs' ;
55import { map } from 'rxjs/operators' ;
66import { User } from '../model/user' ;
7+ import { Response } from '@app/api/model/response' ;
78
89@Injectable ( {
9- providedIn : 'root' ,
10+ providedIn : 'root' ,
1011} )
1112export 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}
0 commit comments