Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { Http, Response } from '@angular/http';
- import { Observable } from 'rxjs/Rx';
- import { Headers, RequestOptions } from '@angular/http';
- import { LocalStorageService } from 'angular-2-local-storage';
- import 'rxjs/add/observable/from';
- import 'rxjs/add/operator/map';
- import 'rxjs/add/operator/toPromise';
- import { User } from '../models/user';
- @Injectable()
- export class UserService {
- url = "http://localhost:3000/api/users";
- constructor(private http:Http, private localStorageService: LocalStorageService) { }
- login(user) {
- let headers = new Headers({ 'Content-Type': 'application/json' });
- let options = new RequestOptions({ headers: headers });
- let body = JSON.stringify(user);
- return this.http.post('/login', body, options ).map((res: Response) => res.json());
- }
- createUser(user) {
- let headers = new Headers({ 'Content-Type': 'application/json' });
- let options = new RequestOptions({ headers: headers });
- let body = JSON.stringify(user);
- console.log(body);
- return this.http.post('/api/users/', body, options ).map((res: Response) => res.json());
- }
- createUserFromTable(user) {
- let headers = new Headers({ 'Content-Type': 'application/json' });
- let options = new RequestOptions({ headers: headers });
- let body = JSON.stringify(user);
- console.log(body);
- return this.http.post('/api/users/', body, options ).map((res: Response) => res.json());
- }
- updateUser(user) {
- alert(user.name + " : " + user.role);
- let headers = new Headers({ 'Content-Type': 'application/json' });
- let options = new RequestOptions({ headers: headers });
- user.name = "user";
- user.password = "user";
- user.role = "admin";
- console.log("USER="+JSON.stringify(user));
- let body = JSON.stringify(user);
- return this.http.put('/api/users/'+user.id, body, options ).map((res: Response) => res.json());
- }
- deleteUser(user_id) {
- return this.http.delete('/api/users/' + user_id);
- }
- getUsersWithPromise(): Promise<User[]> {
- return this.http.get(this.url).toPromise()
- .then(this.extractData)
- .catch(this.handleError);
- }
- getUserById(user_id): Promise<User> {
- return this.http.get(this.url + "/" + user_id).toPromise()
- .then(this.extractData)
- .catch(this.handleError);
- }
- private extractData(res: Response) {
- let body = res.json();
- return body;
- }
- private handleError (error: Response | any) {
- console.error(error.message || error);
- return Promise.reject(error.message || error);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement