From e4c87ec26962e359d1c70b03ed188a3f19d6a25b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 26 Feb 2017 18:57:33 +0100 Subject: Server: implement video views --- server/helpers/custom-validators/remote/videos.js | 24 ++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'server/helpers/custom-validators/remote') diff --git a/server/helpers/custom-validators/remote/videos.js b/server/helpers/custom-validators/remote/videos.js index 2e9cf822e..c1786014d 100644 --- a/server/helpers/custom-validators/remote/videos.js +++ b/server/helpers/custom-validators/remote/videos.js @@ -1,6 +1,7 @@ 'use strict' const has = require('lodash/has') +const values = require('lodash/values') const constants = require('../../../initializers/constants') const videosValidators = require('../videos') @@ -10,13 +11,17 @@ const ENDPOINT_ACTIONS = constants.REQUEST_ENDPOINT_ACTIONS[constants.REQUEST_EN const remoteVideosValidators = { isEachRemoteRequestVideosValid, - isEachRemoteRequestVideosQaduValid + isEachRemoteRequestVideosQaduValid, + isEachRemoteRequestVideosEventsValid } function isEachRemoteRequestVideosValid (requests) { return miscValidators.isArray(requests) && requests.every(function (request) { const video = request.data + + if (!video) return false + return ( isRequestTypeAddValid(request.type) && isCommonVideoAttributesValid(video) && @@ -45,6 +50,8 @@ function isEachRemoteRequestVideosQaduValid (requests) { requests.every(function (request) { const video = request.data + if (!video) return false + return ( videosValidators.isVideoRemoteIdValid(video.remoteId) && (has(video, 'views') === false || videosValidators.isVideoViewsValid) && @@ -54,6 +61,21 @@ function isEachRemoteRequestVideosQaduValid (requests) { }) } +function isEachRemoteRequestVideosEventsValid (requests) { + return miscValidators.isArray(requests) && + requests.every(function (request) { + const eventData = request.data + + if (!eventData) return false + + return ( + videosValidators.isVideoRemoteIdValid(eventData.remoteId) && + values(constants.REQUEST_VIDEO_EVENT_TYPES).indexOf(eventData.eventType) !== -1 && + videosValidators.isVideoEventCountValid(eventData.count) + ) + }) +} + // --------------------------------------------------------------------------- module.exports = remoteVideosValidators -- cgit v1.2.3