Advertisement
Guest User

user.service.ts

a guest
Oct 26th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { Injectable } from '@angular/core';
  2. import { Http, Response } from '@angular/http';
  3. import { Observable } from 'rxjs/Rx';
  4. import { Headers, RequestOptions } from '@angular/http';
  5.  
  6. import { LocalStorageService } from 'angular-2-local-storage';
  7.  
  8. import 'rxjs/add/observable/from';
  9. import 'rxjs/add/operator/map';
  10. import 'rxjs/add/operator/toPromise';
  11.  
  12. import { User } from '../models/user';
  13.  
  14. @Injectable()
  15. export class UserService {
  16.     url = "http://localhost:3000/api/users";
  17.     constructor(private http:Http, private localStorageService: LocalStorageService) { }
  18.  
  19.     login(user) {
  20.       let headers = new Headers({ 'Content-Type': 'application/json' });
  21.       let options = new RequestOptions({ headers: headers });
  22.       let body = JSON.stringify(user);
  23.       return this.http.post('/login', body, options ).map((res: Response) => res.json());
  24.     }
  25.  
  26.     createUser(user) {
  27.       let headers = new Headers({ 'Content-Type': 'application/json' });
  28.       let options = new RequestOptions({ headers: headers });
  29.       let body = JSON.stringify(user);
  30.       console.log(body);
  31.       return this.http.post('/api/users/', body, options ).map((res: Response) => res.json());
  32.     }
  33.  
  34.     createUserFromTable(user) {
  35.       let headers = new Headers({ 'Content-Type': 'application/json' });
  36.       let options = new RequestOptions({ headers: headers });
  37.       let body = JSON.stringify(user);
  38.       console.log(body);
  39.       return this.http.post('/api/users/', body, options ).map((res: Response) => res.json());
  40.     }
  41.  
  42.     updateUser(user) {
  43.       alert(user.name + " : " + user.role);
  44.       let headers = new Headers({ 'Content-Type': 'application/json' });
  45.       let options = new RequestOptions({ headers: headers });
  46.       user.name = "user";
  47.       user.password = "user";
  48.       user.role = "admin";
  49.       console.log("USER="+JSON.stringify(user));
  50.       let body = JSON.stringify(user);
  51.       return this.http.put('/api/users/'+user.id, body, options ).map((res: Response) => res.json());
  52.     }
  53.  
  54.     deleteUser(user_id) {
  55.         return this.http.delete('/api/users/' + user_id);
  56.     }
  57.  
  58.     getUsersWithPromise(): Promise<User[]> {
  59.         return this.http.get(this.url).toPromise()
  60.                      .then(this.extractData)
  61.                      .catch(this.handleError);
  62.     }
  63.  
  64.     getUserById(user_id): Promise<User> {
  65.         return this.http.get(this.url + "/" + user_id).toPromise()
  66.                    .then(this.extractData)
  67.                    .catch(this.handleError);
  68.     }
  69.  
  70.     private extractData(res: Response) {
  71.           let body = res.json();
  72.         return body;
  73.     }
  74.  
  75.     private handleError (error: Response | any) {
  76.           console.error(error.message || error);
  77.           return Promise.reject(error.message || error);
  78.     }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement