import { catchError } from 'rxjs'
import { environment } from 'src/environments/environment'
-import { HttpClient } from '@angular/common/http'
+import { HttpClient, HttpParams } from '@angular/common/http'
import { Injectable } from '@angular/core'
import { RestExtractor } from '@app/core'
import { VideoService } from '@app/shared/shared-main'
private restExtractor: RestExtractor
) { }
- getOverallStats (videoId: string) {
- return this.authHttp.get<VideoStatsOverall>(VideoService.BASE_VIDEO_URL + '/' + videoId + '/stats/overall')
+ getOverallStats (options: {
+ videoId: string
+ startDate?: Date
+ endDate?: Date
+ }) {
+ const { videoId, startDate, endDate } = options
+
+ let params = new HttpParams()
+ if (startDate) params = params.append('startDate', startDate.toISOString())
+ if (endDate) params = params.append('endDate', endDate.toISOString())
+
+ return this.authHttp.get<VideoStatsOverall>(VideoService.BASE_VIDEO_URL + '/' + videoId + '/stats/overall', { params })
.pipe(catchError(err => this.restExtractor.handleError(err)))
}
- getTimeserieStats (videoId: string, metric: VideoStatsTimeserieMetric) {
- return this.authHttp.get<VideoStatsTimeserie>(VideoService.BASE_VIDEO_URL + '/' + videoId + '/stats/timeseries/' + metric)
+ getTimeserieStats (options: {
+ videoId: string
+ metric: VideoStatsTimeserieMetric
+ startDate?: Date
+ endDate?: Date
+ }) {
+ const { videoId, metric, startDate, endDate } = options
+
+ let params = new HttpParams()
+ if (startDate) params = params.append('startDate', startDate.toISOString())
+ if (endDate) params = params.append('endDate', endDate.toISOString())
+
+ return this.authHttp.get<VideoStatsTimeserie>(VideoService.BASE_VIDEO_URL + '/' + videoId + '/stats/timeseries/' + metric, { params })
.pipe(catchError(err => this.restExtractor.handleError(err)))
}