Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by jeremy on 24/07/17.
- */
- import { Injectable } from '@angular/core';
- import { Observable } from "rxjs";
- import { ServiceManager } from "./serviceManager";
- import { Http, Response } from "@angular/http";
- @Injectable()
- export class UserService extends ServiceManager {
- constructor (http: Http) {
- super(http);
- }
- authenticate(username: string, password: string): Observable<any> {
- let user = {
- username: username,
- password: password,
- token: ''
- };
- return this.http.post(this.baseUrl + '/authenticate', user)
- .map((res: Response) => {
- if (res) {
- user.token = res.json().id_token;
- localStorage.setItem('currentUser', JSON.stringify(user));
- this.getUser().subscribe((data) => {
- data.json.token = user.token;
- localStorage.setItem('currentUser', JSON.stringify(data.json));
- });
- return {status: res.status, json: res.json()}
- }
- });
- }
- isAuthenticated(): boolean {
- if (this.getToken()) {
- return true;
- }
- return false;
- }
- getToken() {
- let currentUser = this.getLocalUser();
- if (currentUser && currentUser.token) {
- return currentUser.token;
- }
- return '';
- }
- getLocalUser() {
- let currentUser = localStorage.getItem('currentUser');
- if (currentUser) {
- return JSON.parse(currentUser);
- }
- return '';
- }
- getUser() {
- return this.get('/user/');
- }
- getUsers(): Observable<any> {
- return this.get('/users');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement