|
|
@@ -6,6 +6,7 @@ import { map } from 'rxjs/operators'; |
|
|
|
|
|
|
|
|
import { environment } from '@environments/environment'; |
|
|
import { environment } from '@environments/environment'; |
|
|
import { User } from '@app/_models'; |
|
|
import { User } from '@app/_models'; |
|
|
|
|
|
import {LoginCheckService} from "@app/core/api/v1"; |
|
|
|
|
|
|
|
|
@Injectable({ providedIn: 'root' }) |
|
|
@Injectable({ providedIn: 'root' }) |
|
|
export class AccountService { |
|
|
export class AccountService { |
|
|
@@ -15,7 +16,8 @@ export class AccountService { |
|
|
|
|
|
|
|
|
constructor( |
|
|
constructor( |
|
|
private router: Router, |
|
|
private router: Router, |
|
|
private http: HttpClient |
|
|
|
|
|
|
|
|
private http: HttpClient, |
|
|
|
|
|
private loginCheckService: LoginCheckService |
|
|
) { |
|
|
) { |
|
|
this.userSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('user')!)); |
|
|
this.userSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('user')!)); |
|
|
this.user = this.userSubject.asObservable(); |
|
|
this.user = this.userSubject.asObservable(); |
|
|
@@ -26,13 +28,22 @@ export class AccountService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
login(email: string, password: string) { |
|
|
login(email: string, password: string) { |
|
|
return this.http.post<User>(`${environment.apiUrl}/auth`, { email, password }) |
|
|
|
|
|
.pipe(map(user => { |
|
|
|
|
|
// store user details and jwt token in local storage to keep user logged in between page refreshes |
|
|
|
|
|
localStorage.setItem('user', JSON.stringify(user)); |
|
|
|
|
|
this.userSubject.next(user); |
|
|
|
|
|
return user; |
|
|
|
|
|
})); |
|
|
|
|
|
|
|
|
return this.loginCheckService.checkPost( |
|
|
|
|
|
{ email, password } |
|
|
|
|
|
).pipe(map(user => { |
|
|
|
|
|
// store user details and jwt token in local storage to keep user logged in between page refreshes |
|
|
|
|
|
localStorage.setItem('user', JSON.stringify(user)); |
|
|
|
|
|
this.userSubject.next(user); |
|
|
|
|
|
return user; |
|
|
|
|
|
})); |
|
|
|
|
|
// |
|
|
|
|
|
// return this.http.post<User>(`${environment.apiUrl}/auth`, { email, password }) |
|
|
|
|
|
// .pipe(map(user => { |
|
|
|
|
|
// // store user details and jwt token in local storage to keep user logged in between page refreshes |
|
|
|
|
|
// localStorage.setItem('user', JSON.stringify(user)); |
|
|
|
|
|
// this.userSubject.next(user); |
|
|
|
|
|
// return user; |
|
|
|
|
|
// })); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
logout() { |
|
|
logout() { |
|
|
|