Commit Graph

318 Commits

Author SHA1 Message Date
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
Chocobozzz 0dd079da27 Update standard -> 10 2017-04-16 14:25:37 +02:00
Chocobozzz c36b4ff77e Server: fix tests 2017-04-09 12:31:04 +02:00
Chocobozzz 2c2e909216 Server: add ability to register new user 2017-04-09 12:08:36 +02:00
Chocobozzz 3092476e64 Server: add video language attribute 2017-04-07 12:13:37 +02:00
Chocobozzz 1d49e1e27d Server: Add NSFW in user profile 2017-04-03 21:24:36 +02:00
Chocobozzz 31b59b4774 Server: add nsfw attribute 2017-03-28 21:19:46 +02:00
Chocobozzz 6f0c39e2de Server: add licence video attribute 2017-03-27 20:53:11 +02:00
Chocobozzz b4c5ac97ff Server: refractoring upload/update video test utils 2017-03-26 18:39:01 +02:00
Chocobozzz f6e692f5ee Fix tag tests 2017-03-22 22:13:11 +01:00
Chocobozzz e54163c2d5 Relax on tags (accept any characters and not required anymore) 2017-03-22 21:56:02 +01:00
Chocobozzz 6e07c3de88 Add video category support 2017-03-22 21:25:24 +01:00
Chocobozzz 34831b4843 Server: move pod remove to remote path 2017-03-19 18:56:10 +01:00
Chocobozzz f148e5edb6 Better real world test 2017-03-19 09:16:33 +01:00
Chocobozzz e22528aca6 Server: add config endpoint 2017-03-10 11:32:39 +01:00
Chocobozzz 86e8393986 Allow to sort by likes 2017-03-08 21:52:25 +01:00
Chocobozzz d38b828106 Add like/dislike system for videos 2017-03-08 21:35:43 +01:00
Chocobozzz e3d156b341 Server: add views attribute when sending videos to friends 2017-03-04 11:00:59 +01:00
Chocobozzz 1f5bf9ef70 Server: typo 2017-03-04 10:41:42 +01:00
Chocobozzz ed708d62a6 Server: fix migrations with an empty Applications table 2017-03-04 10:40:09 +01:00
Chocobozzz 4b4660582b Server: fix requests endpoints 2017-03-04 09:48:35 +01:00
Chocobozzz 72329aaa28 Update bittorrent-tracker and standard to v9 2017-03-03 18:45:40 +01:00
Chocobozzz 99fdec4648 Fix request schedulers stats 2017-02-27 21:56:55 +01:00
Chocobozzz f282639b07 Server: request scheduler refractoring 2017-02-26 20:01:26 +01:00
Chocobozzz 9c2c18f3ab Server: little sort refractoring 2017-02-26 20:01:26 +01:00
Chocobozzz e4c87ec269 Server: implement video views 2017-02-26 20:01:26 +01:00
Chocobozzz 9e167724f7 Server: make a basic "quick and dirty update" for videos
This system will be useful to to update some int video attributes
(likes, dislikes, views...)

The classic system is not used because we need some optimization for
scaling
2017-02-26 20:01:26 +01:00
Chocobozzz fe783f6b0d This is not a prototype anymore, but a real project! 2017-02-26 20:01:26 +01:00
Chocobozzz 5804c0db33 Server: fix migration scripts 2017-02-18 12:13:33 +01:00
Chocobozzz c1a7ab7f04 Server: use a request scheduler object instance for friends
communication
2017-02-18 10:29:36 +01:00
Chocobozzz ad4a8a1cca Add email to users 2017-02-18 09:29:59 +01:00
Chocobozzz 5d67f289df Server: add unique to unique indexes 2017-02-16 19:24:34 +01:00
Chocobozzz 4793c343fd Add email to pods 2017-02-16 19:19:56 +01:00
Chocobozzz f6f7dfee01 Server: update express-validator 2017-02-10 11:27:14 +01:00
Chocobozzz 9cc99d7b56 Fix update host script 2017-02-08 20:34:01 +01:00
Chocobozzz 28798b5d94 Client: replace simple tables by ng2 smart table component 2017-01-30 22:41:14 +01:00
Chocobozzz cddadde81f Server: assert remoteId and host pair is unique 2017-01-27 12:14:53 +01:00
Chocobozzz b09ce6455f Server: error if we add a pod that already exists 2017-01-27 11:55:31 +01:00
Chocobozzz 84c07f8ac1 Fix tests 2017-01-23 23:00:27 +01:00
Chocobozzz 11ac88de40 Client: add basic support to report video abuses 2017-01-23 22:18:53 +01:00
Chocobozzz 4f8c0eb0e9 Client: add ability to report a video 2017-01-20 19:22:15 +01:00
Chocobozzz 872a4c7cea Adapt requests controller/front to new informations 2017-01-19 22:38:34 +01:00
Chocobozzz 15103f11ec Server: paths refractoring 2017-01-17 21:42:47 +01:00
Chocobozzz 1e4b0080ff Server: requests refractoring 2017-01-17 21:17:07 +01:00
Chocobozzz da691c46df Server: remote video validators refractoring 2017-01-17 20:59:16 +01:00
Chocobozzz 62f4ef413c Server: remote request process refractoring 2017-01-17 20:50:45 +01:00
Chocobozzz 4145c1c689 Server: transaction refractoring 2017-01-17 20:50:45 +01:00
Chocobozzz fbc22d7936 Server: fix update remote video 2017-01-15 22:22:41 +01:00
Chocobozzz 4df023f2d4 Server: create transaction refractoring 2017-01-15 19:53:11 +01:00
Chocobozzz d6a5b018b8 Server: retryer transaction wrapper refractoring 2017-01-15 19:13:16 +01:00
Chocobozzz 91cc839af8 Server: fix single pod tests 2017-01-12 13:08:47 +01:00
Chocobozzz 790e65fcf7 Try to fix travis build 2017-01-12 10:06:03 +01:00
Chocobozzz 7f4e7c3637 Server: fix update remote video infohash 2017-01-12 09:47:21 +01:00
Chocobozzz 63d00f5ded Server: fix update right checks 2017-01-11 19:15:23 +01:00
Chocobozzz edc5e86006 Server: transaction serializable for videos 2017-01-11 18:41:40 +01:00
Chocobozzz f2cdb86675 Server: add update case to real world script 2017-01-11 18:41:28 +01:00
Chocobozzz 45abb8b97b Server: rights check for update a video 2017-01-11 18:41:09 +01:00
Chocobozzz d8cc063e97 Server: do not break remote videos processing on error 2017-01-11 18:06:51 +01:00
Chocobozzz dea32aacde Server: always check commit result 2017-01-11 16:22:50 +01:00
Chocobozzz bf4ff8fe0b Server: retry video abuse requests too 2017-01-10 22:33:00 +01:00
Chocobozzz bd14d16a29 Server: improve requests scheduler 2017-01-10 22:24:42 +01:00
Chocobozzz ed04d94f6d Server: try to have a better video integrity 2017-01-06 23:46:36 +01:00
Chocobozzz bb0b243c92 Server: improve real world script 2017-01-06 23:24:20 +01:00
Chocobozzz bdfbd4f162 Server: use crypto instead of ursa for pod signature 2017-01-04 22:23:07 +01:00
Chocobozzz b981a525c3 Server: we don't need the video name when removing a remote video 2017-01-04 21:15:57 +01:00
Chocobozzz 55fa55a9be Server: add video abuse support 2017-01-04 21:05:13 +01:00
Chocobozzz a6fd2b30bf Server: move remote routes in their own directory 2016-12-30 12:53:41 +01:00
Chocobozzz 8fd66b75bf Server: fix video remoe validation 2016-12-30 12:39:49 +01:00
Chocobozzz efe923bcda Server: split check params tests 2016-12-30 12:23:53 +01:00
Chocobozzz 818f7987eb Server: optimization for videoGet and videoRemove 2016-12-30 11:51:08 +01:00
Chocobozzz 79066fdf33 Server: add updatedAt attribute to videos 2016-12-30 11:45:00 +01:00
Chocobozzz 3d118fb501 Server: propagate video update to other pods 2016-12-30 11:27:42 +01:00
Chocobozzz 7b1f49de22 Server: add ability to update a video 2016-12-29 19:07:05 +01:00
Chocobozzz 4ff0d86208 Server: little refractoring 2016-12-29 18:02:03 +01:00
Chocobozzz 4d32448895 Server: use binary data instead of base64 to send thumbnails 2016-12-29 12:13:19 +01:00
Chocobozzz 98ac898a03 Server: use video hook to send information to other pods when a video is
deleted
2016-12-29 11:17:11 +01:00
Chocobozzz 4712081f2a Server: add association between author and user 2016-12-29 10:56:07 +01:00
Chocobozzz 319d072e8e Server: Add postgresql indexes 2016-12-29 10:04:39 +01:00
Chocobozzz 67bf9b96bb Server: add database field validations 2016-12-28 15:49:23 +01:00
Chocobozzz 00d6a41e46 Add script to migrate from mongodb to postgresql
Usage: NODE_ENV=production ./scripts/mongo-to-postgre.js --mongo-database peertube-prod
2016-12-27 18:34:47 +01:00
Chocobozzz 178edb2025 Server: correctly sort tags by name asc 2016-12-26 17:44:25 +01:00
Chocobozzz 124648d7fc Server: add createdAt from remote video in database 2016-12-25 12:06:08 +01:00
Chocobozzz 56ac84d0a3 Fix real world script 2016-12-25 12:05:47 +01:00
Chocobozzz f83e279581 Fix standard lint 2016-12-25 09:47:49 +01:00
Chocobozzz b769007f73 Update migrations code 2016-12-25 09:44:57 +01:00
Chocobozzz 7920c273a2 Move tags in another table 2016-12-24 16:59:17 +01:00
Chocobozzz 3897209f46 Server: rename Pods -> Pod 2016-12-19 21:50:20 +01:00
Chocobozzz feb4bdfd9b First version with PostgreSQL 2016-12-19 21:22:28 +01:00
Chocobozzz 38d78e5b82 Server: remove encryption when seending requests to other pods
We don't need it anymore since HTTPS is mandatory now
2016-11-27 18:25:35 +01:00
Chocobozzz 437cf8b531 Server: set manually the post host of a remote video throught the
signature
2016-11-27 11:09:05 +01:00
Chocobozzz 79530164b6 Server: move static/client routes in controllers/ 2016-11-25 14:21:41 +01:00
Bigard Florian 8e124f999b Server: fix magnet tracker websocket url for remote videos 2016-11-23 13:34:07 +01:00
Chocobozzz a078c1556f Server: fix logs when adding a remote video 2016-11-22 22:41:50 +01:00
Chocobozzz 8f21730250 Server: add extname video information to remote pods 2016-11-22 22:34:59 +01:00
Chocobozzz 04968ab477 Fix migration script 2016-11-21 22:09:45 +01:00
Chocobozzz fab69ab8aa Server: fix refreshing token 2016-11-21 22:09:45 +01:00
Chocobozzz 40e3f5e1c5 Fix opengraph url tag 2016-11-18 18:55:34 +01:00
Chocobozzz c77fa067a1 Server: fix thumbnail in remote videos 2016-11-16 21:16:41 +01:00
Chocobozzz 441b66f809 Server: forbid to make friends with a non https server 2016-11-16 20:29:26 +01:00
Chocobozzz 73ce7f9676 Server: don't be rude when serving unknown video in watch html file 2016-11-16 20:29:26 +01:00