"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.VideoStatsCommand = void 0;
const core_utils_1 = require("../../core-utils");
const shared_1 = require("../shared");
class VideoStatsCommand extends shared_1.AbstractCommand {
    getOverallStats(options) {
        const path = '/api/v1/videos/' + options.videoId + '/stats/overall';
        return this.getRequestBody(Object.assign(Object.assign({}, options), { path, query: (0, core_utils_1.pick)(options, ['startDate', 'endDate']), implicitToken: true, defaultExpectedStatus: 200 }));
    }
    getTimeserieStats(options) {
        const path = '/api/v1/videos/' + options.videoId + '/stats/timeseries/' + options.metric;
        return this.getRequestBody(Object.assign(Object.assign({}, options), { path, query: (0, core_utils_1.pick)(options, ['startDate', 'endDate']), implicitToken: true, defaultExpectedStatus: 200 }));
    }
    getRetentionStats(options) {
        const path = '/api/v1/videos/' + options.videoId + '/stats/retention';
        return this.getRequestBody(Object.assign(Object.assign({}, options), { path, implicitToken: true, defaultExpectedStatus: 200 }));
    }
}
exports.VideoStatsCommand = VideoStatsCommand;
//# sourceMappingURL=video-stats-command.js.map