source: trip-planner-front/src/app/_services/user.service.ts@ 84d0fbb

Last change on this file since 84d0fbb was 84d0fbb, checked in by Ema <ema_spirova@…>, 3 years ago

spring security 2.0

  • Property mode set to 100644
File size: 1.6 KB
Line 
1import { HttpClient, HttpHeaders } from "@angular/common/http";
2import { Injectable } from "@angular/core";
3import { Observable } from "rxjs";
4import { map } from "rxjs/operators";
5import { LoginRequest } from "../_models/dto/loginRequest";
6import { UserDto } from "../_models/dto/userDto";
7import { User } from "../_models/user";
8
9@Injectable({
10 providedIn: 'root'
11})
12export class UserService{
13
14 headers = new HttpHeaders({
15 'Content-Type': 'application/json',
16 'Access-Control-Allow-Headers': 'Content-Type',
17
18 });
19
20 constructor(private httpClient: HttpClient){
21
22 }
23
24 registerUser(user : UserDto) : Observable<User>{
25 let url = "http://localhost:8080/api/users/register";
26 var reqHeader = new HttpHeaders({'No-Auth' : 'True'});
27 return this.httpClient.post<User>(url, user, { headers: reqHeader });
28 }
29
30 authenticateUser(loginResult : LoginRequest) {
31 let url = "http://localhost:8080/api/users/login";
32 var reqHeader = new HttpHeaders({'Content-Type': 'application/json'});
33 return this.httpClient.post<any>(url, loginResult)
34 .pipe(
35 map(userData => {
36 sessionStorage.setItem("username", loginResult.username);
37 let tokenStr = userData.token;
38 sessionStorage.setItem("token", tokenStr);
39 return userData;
40 })
41 );
42 }
43
44 isUserLoggedIn() {
45 let user = sessionStorage.getItem("username");
46 let token = sessionStorage.getItem("token");
47 console.log(user);
48 console.log(token);
49 console.log(!(user === null));
50 return !(user === null);
51 }
52
53}
Note: See TracBrowser for help on using the repository browser.