@@ -4,8 +4,8 @@ import { ApiResponse } from '@app/api/model/api-response';
44import { environment } from '@environments/environment' ;
55import { BehaviorSubject , Observable } from 'rxjs' ;
66import { map , tap } from 'rxjs/operators' ;
7- import { LoginStatus } from '../model/login-status ' ;
8- import { User } from '../model/user ' ;
7+ import { LoginDetails } from '../model/login-details ' ;
8+ import { LoginRequest } from '../model/login-request ' ;
99
1010/**
1111 * Authentication service. Handles login and logout operations.
@@ -31,9 +31,9 @@ export class AuthenticationService {
3131
3232 private userKey = 'user' ;
3333
34- private userSubject : BehaviorSubject < User > ;
34+ private userSubject : BehaviorSubject < LoginDetails > ;
3535
36- private user : Observable < User > ;
36+ private user : Observable < LoginDetails > ;
3737
3838 private rememberMe = false ;
3939
@@ -50,12 +50,11 @@ export class AuthenticationService {
5050 *
5151 * If the 'remember me' option is active, the user will be stored in the local storage.
5252 *
53- * @param username username for login
54- * @param password password for login
53+ * @param request login request
5554 * @returns the user resulting from the login
5655 */
57- public login ( username : string , password : string ) : Observable < User > {
58- return this . http . post < ApiResponse < LoginStatus > > ( this . loginUrl , { username , password } )
56+ public login ( request : LoginRequest ) : Observable < LoginDetails > {
57+ return this . http . post < ApiResponse < LoginDetails > > ( this . loginUrl , request )
5958 . pipe ( map ( response => response . content ) )
6059 . pipe ( map ( response => this . toUser ( response ) ) )
6160 . pipe ( tap ( user => this . storeUser ( user ) ) ) ;
@@ -66,7 +65,7 @@ export class AuthenticationService {
6665 */
6766 public logout ( ) {
6867 // Store empty user
69- this . userSubject . next ( new User ( ) ) ;
68+ this . userSubject . next ( new LoginDetails ( ) ) ;
7069
7170 // Clear local storage
7271 localStorage . removeItem ( this . userKey ) ;
@@ -76,7 +75,7 @@ export class AuthenticationService {
7675 * Returns the user currently in session.
7776 * @returns the user currently in session
7877 */
79- public getUser ( ) : User {
78+ public getUser ( ) : LoginDetails {
8079 return this . userSubject . value ;
8180 }
8281
@@ -85,7 +84,7 @@ export class AuthenticationService {
8584 *
8685 * @returns the user currently in session as an observable
8786 */
88- public getUserObservable ( ) : Observable < User > {
87+ public getUserObservable ( ) : Observable < LoginDetails > {
8988 return this . user ;
9089 }
9190
@@ -104,19 +103,19 @@ export class AuthenticationService {
104103 *
105104 * @returns the user stored in the local storage as part of the 'remember me'
106105 */
107- private readUserFromLocal ( ) : BehaviorSubject < User > {
108- let subject : BehaviorSubject < User > ;
106+ private readUserFromLocal ( ) : BehaviorSubject < LoginDetails > {
107+ let subject : BehaviorSubject < LoginDetails > ;
109108
110109 // If the user was stored, load it
111110 const localUser = localStorage . getItem ( this . userKey ) ;
112111 if ( localUser ) {
113112 // User found in local storage
114113 const readUser = JSON . parse ( localUser ) ;
115- subject = new BehaviorSubject < User > ( readUser ) ;
114+ subject = new BehaviorSubject < LoginDetails > ( readUser ) ;
116115 } else {
117116 // User not found
118117 // Use default user
119- subject = new BehaviorSubject < User > ( new User ( ) ) ;
118+ subject = new BehaviorSubject < LoginDetails > ( new LoginDetails ( ) ) ;
120119 }
121120
122121 return subject ;
@@ -128,10 +127,10 @@ export class AuthenticationService {
128127 * @param status status to map
129128 * @returns user generated from the login status
130129 */
131- private toUser ( status : LoginStatus ) : User {
130+ private toUser ( status : LoginDetails ) : LoginDetails {
132131 let loggedUser ;
133132
134- loggedUser = new User ( ) ;
133+ loggedUser = new LoginDetails ( ) ;
135134 if ( status ) {
136135 // Received data
137136 loggedUser . username = status . username ;
@@ -148,7 +147,7 @@ export class AuthenticationService {
148147 *
149148 * @param user user to store
150149 */
151- private storeUser ( user : User ) {
150+ private storeUser ( user : LoginDetails ) {
152151 this . userSubject . next ( user ) ;
153152
154153 if ( this . rememberMe ) {
0 commit comments