File

src/app/user/services/user.service.ts

Index

Methods

Constructor

constructor(http: HttpClient, toastrService: ToastrService, platformId: Object)
Parameters :
Name Type Optional
http HttpClient no
toastrService ToastrService no
platformId Object no

Methods

getOrderDetail
getOrderDetail(orderNumber: string)
Parameters :
Name Type Optional
orderNumber string no
Returns : Observable<Order>
getOrders
getOrders()
getUser
getUser()
Returns : Observable<User>
updateUser
updateUser(params: any)
Parameters :
Name Type Optional
params any no
Returns : Observable<User>
updateUserPassword
updateUserPassword(params: any)
Parameters :
Name Type Optional
params any no
Returns : any
import { HttpClient } from '@angular/common/http';
import { Injectable, PLATFORM_ID, Inject } from '@angular/core';
import { Order } from '../../core/models/order';
import { User } from '../../core/models/user';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { ToastrService } from 'ngx-toastr';
import { isPlatformBrowser } from '@angular/common';

@Injectable()
export class UserService {

  constructor(
    private http: HttpClient,
    private toastrService: ToastrService,
    @Inject(PLATFORM_ID) private platformId: Object
  ) { }

  /**
   *
   *
   * @returns {Observable<Order[]>}
   *
   * @memberof UserService
   */
  getOrders(): Observable<Array<Order>> {
    return this.http.get<Array<Order>>(`api/v1/orders`);
  }

  /**
   *
   *
   * @param {string} orderNumber
   * @returns {Observable<Order>}
   *
   * @memberof UserService
   */
  getOrderDetail(orderNumber: string): Observable<Order> {
    const url = `api/v1/orders/${orderNumber}`;
    return this.http.get<Order>(url);
  }

  /**
   *
   *
   * @returns {Observable<User>}
   *
   * @memberof UserService
   */
  getUser(): Observable<User> {
    const user_id = isPlatformBrowser(this.platformId) ? JSON.parse(localStorage.getItem('user')).id : null;
    return this.http.get<User>(`api/v1/users/${user_id}`);
  }

  updateUser(params: any): Observable<User> {
    return this.http.put<User>(`api/v1/users/${params.user_id}`, params);
  }

  updateUserPassword(params: any) {
    return this.http.put(`auth/change_password`, params)
      .pipe(
        map((success: any) => {
          this.toastrService.success(success.status, 'Success!');
          return true;
        }, (error: any) => {
          this.toastrService.error(error.status, 'Error!');
          return false;
        })
      )
  }
}

results matching ""

    No results matching ""