import { Injectable } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; import { Observable } from 'rxjs/Observable'; import { map } from 'rxjs/operators'; import { RegularSub } from '../models/regularsub'; @Injectable() export class RegularSubsService { constructor(private http: HttpClient) { } findRegularSubs( filter = '', sortBy = 'time', sortOrder = 'desc', pageNumber = 0, pageSize = 20): Observable { return this.http.get('/twitch-subs/api/regular-subs', { observe: 'response', params: new HttpParams() .set('filter', filter) .set('sort_by', sortBy) .set('sort_order', sortOrder) .set('page_number', pageNumber.toString()) .set('page_size', pageSize.toString()) }).pipe( map(res => ({ regularSubs: res.body, totalCount: parseInt(res.headers.get('X-Total-Count')) })) ); } }