diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-01-17 20:59:16 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-01-17 20:59:16 +0100 |
commit | da691c46df2f3c542d4fffaaa99ef18b6ef71f53 (patch) | |
tree | e6ce2dd25bc66e6268e839e96009576f4038758b | |
parent | 62f4ef413c8ef4269e7cdc21dea0e99ab2191201 (diff) | |
download | PeerTube-da691c46df2f3c542d4fffaaa99ef18b6ef71f53.tar.gz PeerTube-da691c46df2f3c542d4fffaaa99ef18b6ef71f53.tar.zst PeerTube-da691c46df2f3c542d4fffaaa99ef18b6ef71f53.zip |
Server: remote video validators refractoring
-rw-r--r-- | server/controllers/api/videos.js | 6 | ||||
-rw-r--r-- | server/helpers/custom-validators/remote/videos.js | 45 | ||||
-rw-r--r-- | server/lib/friends.js | 10 |
3 files changed, 29 insertions, 32 deletions
diff --git a/server/controllers/api/videos.js b/server/controllers/api/videos.js index 75a661bcc..c936105e7 100644 --- a/server/controllers/api/videos.js +++ b/server/controllers/api/videos.js | |||
@@ -389,11 +389,7 @@ function reportVideoAbuse (req, res, finalCallback) { | |||
389 | 389 | ||
390 | waterfall([ | 390 | waterfall([ |
391 | 391 | ||
392 | function startTransaction (callback) { | 392 | databaseUtils.startSerializableTransaction, |
393 | db.sequelize.transaction().asCallback(function (err, t) { | ||
394 | return callback(err, t) | ||
395 | }) | ||
396 | }, | ||
397 | 393 | ||
398 | function createAbuse (t, callback) { | 394 | function createAbuse (t, callback) { |
399 | db.VideoAbuse.create(abuse).asCallback(function (err, abuse) { | 395 | db.VideoAbuse.create(abuse).asCallback(function (err, abuse) { |
diff --git a/server/helpers/custom-validators/remote/videos.js b/server/helpers/custom-validators/remote/videos.js index 7c27b9dbb..ee68ebc10 100644 --- a/server/helpers/custom-validators/remote/videos.js +++ b/server/helpers/custom-validators/remote/videos.js | |||
@@ -1,8 +1,11 @@ | |||
1 | 'use strict' | 1 | 'use strict' |
2 | 2 | ||
3 | const constants = require('../../../initializers/constants') | ||
3 | const videosValidators = require('../videos') | 4 | const videosValidators = require('../videos') |
4 | const miscValidators = require('../misc') | 5 | const miscValidators = require('../misc') |
5 | 6 | ||
7 | const ENDPOINT_ACTIONS = constants.REQUEST_ENDPOINT_ACTIONS[constants.REQUEST_ENDPOINTS.VIDEOS] | ||
8 | |||
6 | const remoteVideosValidators = { | 9 | const remoteVideosValidators = { |
7 | isEachRemoteRequestVideosValid | 10 | isEachRemoteRequestVideosValid |
8 | } | 11 | } |
@@ -13,29 +16,13 @@ function isEachRemoteRequestVideosValid (requests) { | |||
13 | const video = request.data | 16 | const video = request.data |
14 | return ( | 17 | return ( |
15 | isRequestTypeAddValid(request.type) && | 18 | isRequestTypeAddValid(request.type) && |
19 | isCommonVideoAttrbiutesValid(video) && | ||
16 | videosValidators.isVideoAuthorValid(video.author) && | 20 | videosValidators.isVideoAuthorValid(video.author) && |
17 | videosValidators.isVideoDateValid(video.createdAt) && | 21 | videosValidators.isVideoThumbnailDataValid(video.thumbnailData) |
18 | videosValidators.isVideoDateValid(video.updatedAt) && | ||
19 | videosValidators.isVideoDescriptionValid(video.description) && | ||
20 | videosValidators.isVideoDurationValid(video.duration) && | ||
21 | videosValidators.isVideoInfoHashValid(video.infoHash) && | ||
22 | videosValidators.isVideoNameValid(video.name) && | ||
23 | videosValidators.isVideoTagsValid(video.tags) && | ||
24 | videosValidators.isVideoThumbnailDataValid(video.thumbnailData) && | ||
25 | videosValidators.isVideoRemoteIdValid(video.remoteId) && | ||
26 | videosValidators.isVideoExtnameValid(video.extname) | ||
27 | ) || | 22 | ) || |
28 | ( | 23 | ( |
29 | isRequestTypeUpdateValid(request.type) && | 24 | isRequestTypeUpdateValid(request.type) && |
30 | videosValidators.isVideoDateValid(video.createdAt) && | 25 | isCommonVideoAttrbiutesValid(video) |
31 | videosValidators.isVideoDateValid(video.updatedAt) && | ||
32 | videosValidators.isVideoDescriptionValid(video.description) && | ||
33 | videosValidators.isVideoDurationValid(video.duration) && | ||
34 | videosValidators.isVideoInfoHashValid(video.infoHash) && | ||
35 | videosValidators.isVideoNameValid(video.name) && | ||
36 | videosValidators.isVideoTagsValid(video.tags) && | ||
37 | videosValidators.isVideoRemoteIdValid(video.remoteId) && | ||
38 | videosValidators.isVideoExtnameValid(video.extname) | ||
39 | ) || | 26 | ) || |
40 | ( | 27 | ( |
41 | isRequestTypeRemoveValid(request.type) && | 28 | isRequestTypeRemoveValid(request.type) && |
@@ -56,18 +43,30 @@ module.exports = remoteVideosValidators | |||
56 | 43 | ||
57 | // --------------------------------------------------------------------------- | 44 | // --------------------------------------------------------------------------- |
58 | 45 | ||
46 | function isCommonVideoAttrbiutesValid (video) { | ||
47 | return videosValidators.isVideoDateValid(video.createdAt) && | ||
48 | videosValidators.isVideoDateValid(video.updatedAt) && | ||
49 | videosValidators.isVideoDescriptionValid(video.description) && | ||
50 | videosValidators.isVideoDurationValid(video.duration) && | ||
51 | videosValidators.isVideoInfoHashValid(video.infoHash) && | ||
52 | videosValidators.isVideoNameValid(video.name) && | ||
53 | videosValidators.isVideoTagsValid(video.tags) && | ||
54 | videosValidators.isVideoRemoteIdValid(video.remoteId) && | ||
55 | videosValidators.isVideoExtnameValid(video.extname) | ||
56 | } | ||
57 | |||
59 | function isRequestTypeAddValid (value) { | 58 | function isRequestTypeAddValid (value) { |
60 | return value === 'add' | 59 | return value === ENDPOINT_ACTIONS.ADD |
61 | } | 60 | } |
62 | 61 | ||
63 | function isRequestTypeUpdateValid (value) { | 62 | function isRequestTypeUpdateValid (value) { |
64 | return value === 'update' | 63 | return value === ENDPOINT_ACTIONS.UPDATE |
65 | } | 64 | } |
66 | 65 | ||
67 | function isRequestTypeRemoveValid (value) { | 66 | function isRequestTypeRemoveValid (value) { |
68 | return value === 'remove' | 67 | return value === ENDPOINT_ACTIONS.REMOVE |
69 | } | 68 | } |
70 | 69 | ||
71 | function isRequestTypeReportAbuseValid (value) { | 70 | function isRequestTypeReportAbuseValid (value) { |
72 | return value === 'report-abuse' | 71 | return value === ENDPOINT_ACTIONS.REPORT_ABUSE |
73 | } | 72 | } |
diff --git a/server/lib/friends.js b/server/lib/friends.js index f0575ff2f..f634aedbb 100644 --- a/server/lib/friends.js +++ b/server/lib/friends.js | |||
@@ -12,6 +12,8 @@ const db = require('../initializers/database') | |||
12 | const logger = require('../helpers/logger') | 12 | const logger = require('../helpers/logger') |
13 | const requests = require('../helpers/requests') | 13 | const requests = require('../helpers/requests') |
14 | 14 | ||
15 | const ENDPOINT_ACTIONS = constants.REQUEST_ENDPOINT_ACTIONS[constants.REQUEST_ENDPOINTS.VIDEOS] | ||
16 | |||
15 | const friends = { | 17 | const friends = { |
16 | addVideoToFriends, | 18 | addVideoToFriends, |
17 | updateVideoToFriends, | 19 | updateVideoToFriends, |
@@ -26,7 +28,7 @@ const friends = { | |||
26 | 28 | ||
27 | function addVideoToFriends (videoData, transaction, callback) { | 29 | function addVideoToFriends (videoData, transaction, callback) { |
28 | const options = { | 30 | const options = { |
29 | type: 'add', | 31 | type: ENDPOINT_ACTIONS.ADD, |
30 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, | 32 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, |
31 | data: videoData, | 33 | data: videoData, |
32 | transaction | 34 | transaction |
@@ -36,7 +38,7 @@ function addVideoToFriends (videoData, transaction, callback) { | |||
36 | 38 | ||
37 | function updateVideoToFriends (videoData, transaction, callback) { | 39 | function updateVideoToFriends (videoData, transaction, callback) { |
38 | const options = { | 40 | const options = { |
39 | type: 'update', | 41 | type: ENDPOINT_ACTIONS.UPDATE, |
40 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, | 42 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, |
41 | data: videoData, | 43 | data: videoData, |
42 | transaction | 44 | transaction |
@@ -46,7 +48,7 @@ function updateVideoToFriends (videoData, transaction, callback) { | |||
46 | 48 | ||
47 | function removeVideoToFriends (videoParams) { | 49 | function removeVideoToFriends (videoParams) { |
48 | const options = { | 50 | const options = { |
49 | type: 'remove', | 51 | type: ENDPOINT_ACTIONS.REMOVE, |
50 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, | 52 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, |
51 | data: videoParams | 53 | data: videoParams |
52 | } | 54 | } |
@@ -55,7 +57,7 @@ function removeVideoToFriends (videoParams) { | |||
55 | 57 | ||
56 | function reportAbuseVideoToFriend (reportData, video) { | 58 | function reportAbuseVideoToFriend (reportData, video) { |
57 | const options = { | 59 | const options = { |
58 | type: 'report-abuse', | 60 | type: ENDPOINT_ACTIONS.REPORT_ABUSE, |
59 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, | 61 | endpoint: constants.REQUEST_ENDPOINTS.VIDEOS, |
60 | data: reportData, | 62 | data: reportData, |
61 | toIds: [ video.Author.podId ] | 63 | toIds: [ video.Author.podId ] |