File

src/app/_services/user.service.ts

Constructor

constructor(authHttp: AuthHttp)

Methods

getUsers
getUsers()
Returns: Observable<User[]>
getUser
getUser(id: any)
Returns: Observable<User>
updateUser
updateUser(id: Number, user: User)
Returns: void
Private handleError
handleError(error: any)
Returns: void

Properties

baseUrl
baseUrl: string
import { AuthHttp } from 'angular2-jwt';
import { Injectable } from '@angular/core';
import { environment } from '../../environments/environment';
import { RequestOptions, Headers } from '@angular/http';
import { Observable } from 'rxjs/observable';
import { User } from '../_models/User';

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';

@Injectable()
export class UserService {
  baseUrl = environment.apiUrl;
  constructor(private authHttp: AuthHttp) { }

  getUsers(): Observable<User[]> {
    return this.authHttp
      .get(this.baseUrl + 'user')
      .map(response => <User[]>response.json())
      .catch(this.handleError);
  }

  getUser(id): Observable<User> {
    return this.authHttp
      .get(this.baseUrl + 'user/' + id)
      .map(response => <User>response.json())
      .catch(this.handleError);
  }

  updateUser(id: Number, user: User) {
    return this.authHttp.put(this.baseUrl + 'user/' + id, user)
      .catch(this.handleError);
  }

  //handle api errors
  private handleError(error: any) {
    //application error
    const applicationError = error.headers
      .get('Application-Error');
    if (applicationError) return Observable
      .throw(applicationError);
    //server error
    const serverError = error.json();
    let modelStateErrors = '';
    if (serverError) {
      for (let key in serverError) {
        if (serverError[key]) {
          modelStateErrors += serverError[key] + '\n';
        }
      }
    }
    return Observable.throw(
      modelStateErrors || 'Server error'
    );
  }
}

results matching ""

    No results matching ""