Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. /**
  2. * Created by jeremy on 24/07/17.
  3. */
  4.  
  5. import { Injectable } from '@angular/core';
  6. import { Observable } from "rxjs";
  7. import { ServiceManager } from "./serviceManager";
  8. import { Http, Response } from "@angular/http";
  9.  
  10.  
  11.  
  12. @Injectable()
  13. export class UserService extends ServiceManager {
  14.  
  15. constructor (http: Http) {
  16. super(http);
  17. }
  18.  
  19. authenticate(username: string, password: string): Observable<any> {
  20. let user = {
  21. username: username,
  22. password: password,
  23. token: ''
  24. };
  25.  
  26. return this.http.post(this.baseUrl + '/authenticate', user)
  27. .map((res: Response) => {
  28. if (res) {
  29. user.token = res.json().id_token;
  30.  
  31. localStorage.setItem('currentUser', JSON.stringify(user));
  32. this.getUser().subscribe((data) => {
  33. data.json.token = user.token;
  34. localStorage.setItem('currentUser', JSON.stringify(data.json));
  35. });
  36. return {status: res.status, json: res.json()}
  37. }
  38. });
  39. }
  40.  
  41. isAuthenticated(): boolean {
  42. if (this.getToken()) {
  43. return true;
  44. }
  45. return false;
  46. }
  47.  
  48. getToken() {
  49. let currentUser = this.getLocalUser();
  50.  
  51. if (currentUser && currentUser.token) {
  52. return currentUser.token;
  53. }
  54. return '';
  55. }
  56.  
  57. getLocalUser() {
  58. let currentUser = localStorage.getItem('currentUser');
  59.  
  60. if (currentUser) {
  61. return JSON.parse(currentUser);
  62. }
  63. return '';
  64. }
  65.  
  66. getUser() {
  67. return this.get('/user/');
  68. }
  69.  
  70. getUsers(): Observable<any> {
  71. return this.get('/users');
  72. }
  73.  
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement