PeerTube/server/models
Green-Star 198b205c10 Add ability for an administrator to remove any video (#61)
* Add ability for an admin to remove every video on the pod.

* Server: add BlacklistedVideos relation.

* Server: Insert in BlacklistedVideos relation upon deletion of a video.

* Server: Modify BlacklistedVideos schema to add Pod id information.

* Server: Moving insertion of a blacklisted video from the `afterDestroy` hook into the process of deletion of a video.

To avoid inserting a video when it is removed on its origin pod.
When a video is removed on its origin pod, the `afterDestroy` hook is fire, but no request is made on the delete('/:videoId') interface.
Hence, we insert into `BlacklistedVideos` only on request on delete('/:videoId') (if requirements for insertion are met).

* Server: Add removeVideoFromBlacklist hook on deletion of a video.

We are going to proceed in another way :).
We will add a new route : /:videoId/blacklist to blacklist a video.
We do not blacklist a video upon its deletion now (to distinguish a video blacklist from a regular video delete)
When we blacklist a video, the video remains in the DB, so we don't have any concern about its update. It just doesn't appear in the video list.
When we remove a video, we then have to remove it from the blacklist too.
We could also remove a video from the blacklist to 'unremove' it and make it appear again in the video list (will be another feature).

* Server: Add handler for new route post(/:videoId/blacklist)

* Client: Add isBlacklistable method

* Client: Update isRemovableBy method.

* Client: Move 'Delete video' feature from the video-list to the video-watch module.

* Server: Exclude blacklisted videos from the video list

* Server: Use findAll() in BlacklistedVideos.list() method

* Server: Fix addVideoToBlacklist function.

* Client: Add blacklist feature.

* Server: Use JavaScript Standard Style.

* Server: In checkUserCanDeleteVideo, move the callback call inside the db callback function

* Server: Modify BlacklistVideo relation

* Server: Modifiy Videos methods.

* Server: Add checkVideoIsBlacklistable method

* Server: Rewrite addVideoToBlacklist method

* Server: Fix checkVideoIsBlacklistable method

* Server: Add return to addVideoToBlacklist method
2017-04-26 21:22:10 +02:00
..
application.js Server: fix migrations with an empty Applications table 2017-03-04 10:40:09 +01:00
author.js Add email to users 2017-02-18 09:29:59 +01:00
oauth-client.js Server: add association between author and user 2016-12-29 10:56:07 +01:00
oauth-token.js Server: Add postgresql indexes 2016-12-29 10:04:39 +01:00
pod.js Server: implement video views 2017-02-26 20:01:26 +01:00
request-to-pod.js Server: make a basic "quick and dirty update" for videos 2017-02-26 20:01:26 +01:00
request-video-event.js Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
request-video-qadu.js Server: implement video views 2017-02-26 20:01:26 +01:00
request.js Server: implement video views 2017-02-26 20:01:26 +01:00
tag.js Server: little refractoring 2016-12-29 18:02:03 +01:00
user-video-rate.js Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
user.js Add ability for an administrator to remove any video (#61) 2017-04-26 21:22:10 +02:00
utils.js First version with PostgreSQL 2016-12-19 21:22:28 +01:00
video-abuse.js Client: add basic support to report video abuses 2017-01-23 22:18:53 +01:00
video-blacklist.js Add ability for an administrator to remove any video (#61) 2017-04-26 21:22:10 +02:00
video-tag.js Server: add video abuse support 2017-01-04 21:05:13 +01:00
video.js Add ability for an administrator to remove any video (#61) 2017-04-26 21:22:10 +02:00