You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.0 KiB
39 lines
1.0 KiB
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<any> {
|
|
|
|
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: <RegularSub[]>res.body,
|
|
totalCount: parseInt(res.headers.get('X-Total-Count'))
|
|
}))
|
|
);
|
|
}
|
|
}
|