Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {Injectable} from '@angular/core';
- import {Headers, Http, Response} from '@angular/http';
- import { Observable } from 'rxjs/Observable';
- import 'rxjs/add/operator/map'
- import {AppSettings} from '../app.settings';
- import {HttpClient} from "../http-client";
- import {Router} from "@angular/router";
- import {User, City} from "../_models";
- @Injectable()
- export class AuthService {
- public user: User = new User();
- constructor (
- private http: HttpClient,
- private router: Router,
- ) {
- this.profile().subscribe();
- }
- isAuth(): boolean {
- return this.http.isAuth();
- }
- token():string {
- return this.http.token();
- }
- login(email: string, password: string) {
- return this.http.post(AppSettings.API_URL+'auth/login', { email: email, password: password })
- .map((response: Response) => {
- console.log(response);
- let user = response.json();
- if (user && user.data.token) {
- localStorage.setItem('token', user.data.token);
- console.log("saved");
- }
- this.profile().subscribe();
- });
- }
- register(email: string, password: string, name: string) {
- return this.http.post(AppSettings.API_URL+'auth/register', { email: email, password: password, name: name })
- .map((response: Response) => {
- console.log(response);
- let user = response.json();
- if (user && user.data.token) {
- localStorage.setItem('token', user.data.token);
- console.log("saved");
- }
- this.profile().subscribe();
- });
- }
- logout() {
- localStorage.removeItem('token');
- this.http.post(AppSettings.API_URL+'auth/logout', { })
- .map((response: Response) => {})
- .subscribe();
- this.user = null;
- this.router.navigate(['/home']);
- }
- update(email, name: string, city: City) {
- let data = {};
- if (email != null && name != null) {
- data = {
- email: email,
- name: name
- };
- this.user.email = email;
- this.user.name = name;
- } else {
- data = {
- city: city.id
- };
- }
- return this.http.put(AppSettings.API_URL+'auth/update', data)
- .map((response: Response) => {
- console.log(response);
- });
- }
- update_password(oldPassword:string, newPassword:string) {
- return this.http.put(AppSettings.API_URL+'auth/update_password',
- {
- old_password: oldPassword,
- password: newPassword,
- rePassword: newPassword
- });
- }
- profile() {
- return this.http.get(AppSettings.API_URL+'auth/profile')
- .map((response: Response) => {
- let res = response.json();
- if (res.status == "success") {
- console.log(res.data.user);
- this.user = new User(res.data.user);
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement