1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { pick } from '@shared/core-utils'
- import { HttpStatusCode, VideoStatsOverall, VideoStatsRetention, VideoStatsTimeserie, VideoStatsTimeserieMetric } from '@shared/models'
- import { AbstractCommand, OverrideCommandOptions } from '../shared'
- export class VideoStatsCommand extends AbstractCommand {
- getOverallStats (options: OverrideCommandOptions & {
- videoId: number | string
- startDate?: string
- endDate?: string
- }) {
- const path = '/api/v1/videos/' + options.videoId + '/stats/overall'
- return this.getRequestBody<VideoStatsOverall>({
- ...options,
- path,
- query: pick(options, [ 'startDate', 'endDate' ]),
- implicitToken: true,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- getTimeserieStats (options: OverrideCommandOptions & {
- videoId: number | string
- metric: VideoStatsTimeserieMetric
- startDate?: Date
- endDate?: Date
- }) {
- const path = '/api/v1/videos/' + options.videoId + '/stats/timeseries/' + options.metric
- return this.getRequestBody<VideoStatsTimeserie>({
- ...options,
- path,
- query: pick(options, [ 'startDate', 'endDate' ]),
- implicitToken: true,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- getRetentionStats (options: OverrideCommandOptions & {
- videoId: number | string
- }) {
- const path = '/api/v1/videos/' + options.videoId + '/stats/retention'
- return this.getRequestBody<VideoStatsRetention>({
- ...options,
- path,
- implicitToken: true,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- }
|