Commit Graph

470 Commits (4b49385892b25aea5aa9e605fbcb66074bcb49b0)

Author SHA1 Message Date
Chocobozzz 0883b3245b
Add ability to choose what policy we have for NSFW videos
There is a global instance setting and a per user setting
2018-04-19 11:01:34 +02:00
Chocobozzz 66dc590764
Add ability to click on the account in watch page 2018-04-17 15:11:12 +02:00
Chocobozzz 7b87d2d514
Handle sort in rss 2018-04-17 10:56:27 +02:00
Rigel Kent 244e76a552
feature: initial syndication feeds support
Provides rss 2.0, atom 1.0 and json 1.0 feeds for videos (instance and account-wide) on listings and video-watch views.

* still lacks redis caching
* still lacks lastBuildDate support
* still lacks channel-wide support
* still lacks semantic annotation (for licenses, NSFW warnings, etc.)
* still lacks love ( ˘ ³˘)

* RSS: has MRSS support for torrent lists!
* RSS: includes the first torrent in an enclosure
* JSON: lists all torrents in the 'attachments' object
* ATOM: lacking torrent listing support

Advances #23
Partial implementation for the accountId generation in the client, which will need a hotfix to add a way to get the proper account id.
2018-04-17 01:09:06 +02:00
Chocobozzz ee28cdf1c4
Upgrade server dependencies 2018-04-06 14:39:19 +02:00
Chocobozzz a8462c8e3a
Automatic resolution according to user bandwidth V1 2018-04-05 16:15:51 +02:00
Julien Le Bras 2922e048de Add publishedAt field for video model.
* New field added in the `video` table + migration script

* `publishedAt` updated to NOW when privacy changes from private to
  public/unlisted (default = NOW)

* Models updated to handle the new attribute

* Client interface updated to use `publishedAt` instead of `createdAt`
  except in My Account > My Videos view
2018-03-30 08:52:58 +02:00
Chocobozzz c73e83da28
Truncate correctly video descriptions 2018-03-28 11:00:02 +02:00
Chocobozzz 3e0c9ff5d5
Add ability to search on domain and username too 2018-03-27 15:09:53 +02:00
Chocobozzz e53f952eba
Improve SQL request for video AP request 2018-03-27 14:29:22 +02:00
Chocobozzz fc27b17c6b
Put Person first in AP attributedTo 2018-03-27 13:40:30 +02:00
Chocobozzz d5b7d9110d
Fix error logging 2018-03-26 16:04:14 +02:00
Chocobozzz bffbebbe6b
Fix issues with truncated description and utf characters 2018-03-21 15:00:58 +01:00
Chocobozzz a3cffab42d
Fix mentions in comments 2018-03-21 11:17:01 +01:00
Chocobozzz 552586eda6
Fix resolution order 2018-03-19 15:37:31 +01:00
Chocobozzz 5d00a3d7aa
Update the api documentation 2018-03-19 14:20:04 +01:00
Chocobozzz ae5a3dd664
Update videos response api 2018-03-19 10:32:51 +01:00
Chocobozzz 2e3a0215d0
Add short description in config 2018-03-15 14:34:47 +01:00
Chocobozzz 066e94c538
Add "local" videos in menu 2018-03-13 10:24:28 +01:00
Chocobozzz 19a3b914f1
Change video abuse API response 2018-03-12 11:44:28 +01:00
Chocobozzz b64c950a1c
Update videos api list for account 2018-03-12 11:44:28 +01:00
Chocobozzz b0ef17828c
Do not destroy the video if transcoding fails 2018-03-08 14:09:09 +01:00
Chocobozzz a73c582e5b
Improve playback speed style 2018-03-01 13:02:09 +01:00
Chocobozzz 09cababd79
Add stats route 2018-02-28 18:04:55 +01:00
Chocobozzz 056aa7f2b4
Fix resolution for portrait videos 2018-02-27 15:57:43 +01:00
Chocobozzz 266707202c
Keep ratio for thumbnails 2018-02-27 11:29:24 +01:00
Chocobozzz e8cb44090e
Add links to comment mentions 2018-02-21 16:44:43 +01:00
Chocobozzz 6ff9c676e9
Fix lint 2018-02-19 11:31:50 +01:00
Chocobozzz 3bb6c52645
Fix sort inconsistency 2018-02-19 10:48:44 +01:00
Chocobozzz b6a4fd6b09
Fix avatars on video watch page 2018-02-16 11:19:54 +01:00
Chocobozzz 2422c46b27
Implement support field in video and video channel 2018-02-15 15:29:07 +01:00
Chocobozzz 29c6b82944
Fix deleting a video with comments 2018-02-13 13:35:10 +01:00
Chocobozzz 3c75ce12d5
Only list unlisted/public videos in outbox 2018-02-04 23:04:32 +01:00
Chocobozzz 1d230c4419
Fix announces when fetching the actor outbox 2018-02-04 22:40:37 +01:00
Chocobozzz ba75d26859
Send an email on video abuse report 2018-02-01 11:08:29 +01:00
Chocobozzz ecb4e35f4e
Add ability to reset our password 2018-01-30 13:27:07 +01:00
Chocobozzz ba12e8b3a6
Add ability to login with email 2018-01-29 16:09:50 +01:00
Chocobozzz 46531a0abd
Add id to likes/dislikes/comments/shares collections 2018-01-29 10:52:19 +01:00
Chocobozzz 0a67e28bee
Use sensitive instead of nsfw in activitypub 2018-01-26 17:25:35 +01:00
Chocobozzz 4ba3b8ea1b
Don't rehost announced video activities 2018-01-26 15:49:57 +01:00
Chocobozzz 0776d83f2c
Add unique index on video comment url 2018-01-26 14:14:43 +01:00
Chocobozzz d6e99e5322
Add context on activitypub responses 2018-01-26 11:44:08 +01:00
Chocobozzz 94a5ff8a4a
Move job queue to redis
We'll use it as cache in the future.

/!\ You'll loose your old jobs (pending jobs too) so upgrade only when
you don't have pending job anymore.
2018-01-25 18:41:17 +01:00
Chocobozzz 093237cf79
Add schema.org tags to videos 2018-01-23 17:09:06 +01:00
Chocobozzz f8b8c36b2a
Destroy user token when changing its role 2018-01-23 09:49:57 +01:00
Chocobozzz 23e27dd535
Add ability to configure log level 2018-01-19 13:58:13 +01:00
Chocobozzz 0edf0581a9
Add http tracker in torrent too 2018-01-19 08:49:04 +01:00
Chocobozzz 2d9ab59061
Fix videos list sql request
Sequelize my love <3
2018-01-18 19:37:35 +01:00
Chocobozzz 3e5002477a
Video get SQL optimization 2018-01-18 17:44:04 +01:00
Chocobozzz 2c897999fe
Optimize SQL query that fetch actor outbox 2018-01-18 16:43:26 +01:00
Chocobozzz 54e740594b
Avoid too many requests and fetching outbox 2018-01-18 15:42:20 +01:00
Chocobozzz f05a1c30c1
Don't show videos of remote instance after unfollow 2018-01-18 15:42:20 +01:00
Chocobozzz 9fb3abfdac
Fix communication with mastodon 2018-01-12 15:35:30 +01:00
Chocobozzz 38768a367b
Fix lint 2018-01-12 12:18:11 +01:00
Chocobozzz a3fd560d11
Fix tree comment rendering
Sort by updatedAt too
2018-01-12 11:59:52 +01:00
Chocobozzz 32b2b43c06
Update follower/following counts 2018-01-12 11:47:45 +01:00
Chocobozzz 6502c3d43e
Avoid making retried requests to dead followers 2018-01-12 10:02:11 +01:00
Chocobozzz 05bc4dfa06
Add maximum to actor follow scores 2018-01-11 18:35:39 +01:00
Chocobozzz 6120941f59
Little SQL optimization 2018-01-11 14:30:27 +01:00
Chocobozzz 7bc2917145
Add tests to handle down server 2018-01-11 11:47:44 +01:00
Chocobozzz 60650c77c8
Add scores to follows and remove bad ones 2018-01-11 09:35:50 +01:00
Chocobozzz 2ccaeeb341
Fetch remote AP objects 2018-01-10 17:19:14 +01:00
Chocobozzz 759f8a29e9
Fix sharedInboxUrl list 2018-01-09 18:13:00 +01:00
Chocobozzz ca309a9f64
Fix aot build 2018-01-09 17:22:26 +01:00
Chocobozzz 378557ef25
Fix comment creation 2018-01-08 13:15:01 +01:00
Chocobozzz ce5496d6a3
Support video quota on client 2018-01-08 12:53:09 +01:00
Chocobozzz 2cfe649635
Disable job scheduler SQL queries logging 2018-01-08 10:52:15 +01:00
Chocobozzz 93ef8a9d02
Send comment to followers and parents 2018-01-08 10:15:27 +01:00
Chocobozzz 98418afe2d
Fix account names validation 2018-01-05 15:51:01 +01:00
Chocobozzz d7e70384a3
Add mentions to comments 2018-01-05 11:19:25 +01:00
Chocobozzz a5625b4167
Refresh remote accounts 2018-01-04 14:04:02 +01:00
Chocobozzz 4cb6d45788
Add ability to delete comments 2018-01-04 11:19:16 +01:00
Chocobozzz cf117aaafc
Add avatar in comments 2018-01-03 17:35:00 +01:00
Chocobozzz 265ba139eb
Send account activitypub update events 2018-01-03 16:38:50 +01:00
Chocobozzz e8e122002d
Automatically resize avatars 2018-01-03 11:36:03 +01:00
Chocobozzz 01de67b9a4
Add avatar max size limit 2018-01-03 11:10:40 +01:00
Chocobozzz 47564bbe2e
Add ability to disable video comments 2018-01-03 10:38:19 +01:00
Chocobozzz c5911fd347
Begin to add avatar to actors 2017-12-29 19:10:13 +01:00
Chocobozzz db799da3d2
Add get old comment on follow tests 2017-12-28 11:45:10 +01:00
Chocobozzz da854ddd50
Propagate old comment on new follow 2017-12-28 11:16:08 +01:00
Chocobozzz d50acfab69
Add comments federation tests 2017-12-27 20:03:37 +01:00
Chocobozzz 4635f59d7c
Add video comment components 2017-12-27 16:11:53 +01:00
Chocobozzz ea44f375f5
Send video comment comments to followers/origin 2017-12-27 10:39:31 +01:00
Chocobozzz d3ea897591
Begin unit tests 2017-12-22 12:12:33 +01:00
Chocobozzz bf1f650817
Add comments controller 2017-12-22 11:29:12 +01:00
Chocobozzz 6d85247028
Create comment on replied mastodon statutes 2017-12-22 09:14:50 +01:00
Chocobozzz 8fa5653ad8
Add transition on play/loading player 2017-12-20 11:05:10 +01:00
Chocobozzz e12a009254
Status are sent to mastodon 2017-12-19 10:53:16 +01:00
Chocobozzz ce33ee01cd
Use RsaSignature2017 2017-12-19 10:53:16 +01:00
Chocobozzz 50d6de9c28
Begin moving video channel to actor 2017-12-19 10:53:16 +01:00
Chocobozzz fadf619ad6
Save 2017-12-19 10:51:09 +01:00
Andréas Livet 7efe153b0b Enh #106 : Add an autoPlayVideo user attribute (#159)
Warning : I was not able to run the tests on my machine. It uses a different approach to handle databse connexion and didn't find where to configure it...

- create a migration file to add a boolean column in user table
- add autoPlayVideo attribute everywhere it is needed (both on client and server side)
- add tests
- add a way to configure this attribute in account-settings
- use the attribute in video-watch component to actually autoplay or not the video
2017-12-19 10:45:49 +01:00
Chocobozzz d48ff09d27
Use sequelize scopes 2017-12-14 10:07:57 +01:00
Chocobozzz 65b3ed25fc
Fix job model 2017-12-13 17:00:01 +01:00
Chocobozzz 3fd3ab2d34
Move models to typescript-sequelize 2017-12-13 16:50:33 +01:00
Chocobozzz f595d39477
Finish admin design 2017-12-08 17:31:21 +01:00
Chocobozzz 8e7f08b5a5
Make some fields optional when uploading a video 2017-12-07 17:05:23 +01:00
Chocobozzz b1fa3eba70
Begin video watch design 2017-12-06 17:15:59 +01:00
Chocobozzz f3aaa9a95c
Fix client search 2017-12-05 18:25:29 +01:00
Chocobozzz be44767854
Fix lint 2017-12-04 11:17:08 +01:00
Chocobozzz 2295ce6c4e
Add account avatar 2017-12-04 10:34:40 +01:00
Chocobozzz 98ec8b8e73
Fix lint 2017-11-30 13:16:23 +01:00
Chocobozzz 25ed141c7c
Put activity pub sends inside transactions 2017-11-30 11:31:15 +01:00
Chocobozzz 5cd8054542
Add ability to list jobs 2017-11-30 10:55:06 +01:00
Chocobozzz 165cdc75bf
Fix well known and json parser with mastodon 2017-11-29 11:34:44 +01:00
Chocobozzz c60774b05b
Remove max duration/filesize constraints 2017-11-28 14:51:00 +01:00
Chocobozzz a2431b7dcb
Refractor validators 2017-11-27 19:43:01 +01:00
Chocobozzz 4e50b6a1c9
Add shares forward and collection on videos/video channels 2017-11-27 19:40:53 +01:00
Chocobozzz 74bb2cb834
Add activitypub migration script 2017-11-27 19:40:53 +01:00
Chocobozzz df1966c9b4
Fix lint 2017-11-27 19:40:53 +01:00
Chocobozzz 63c93323ec
Correctly forward like/dislikes and undo 2017-11-27 19:40:53 +01:00
Chocobozzz d4f1e94c89
Misc cleanup 2017-11-27 19:40:53 +01:00
Chocobozzz 39445ead45
Cleanup models 2017-11-27 19:40:53 +01:00
Chocobozzz 16b9097594
Fetch video likes/dislikes too 2017-11-27 19:40:53 +01:00
Chocobozzz 0032ebe94a
Federate likes/dislikes 2017-11-27 19:40:53 +01:00
Chocobozzz 40ff57078e
Federate video views 2017-11-27 19:40:53 +01:00
Chocobozzz c46edbc2f6
Fetch outbox to grab old activities tests 2017-11-27 19:40:53 +01:00
Chocobozzz e71bcc0f4b
Add outbox 2017-11-27 19:40:53 +01:00
Chocobozzz 7e9334c34d
Add ability to unfollow a server 2017-11-27 19:40:52 +01:00
Chocobozzz 5414139835
Refractor activity pub lib/helpers 2017-11-27 19:40:52 +01:00
Chocobozzz 79d5caf994
Fix lint 2017-11-27 19:40:52 +01:00
Chocobozzz 9a27cdc27c
Optimize signature verification 2017-11-27 19:40:52 +01:00
Chocobozzz 47e0652b4a
Optimize account creation 2017-11-27 19:40:52 +01:00
Chocobozzz 21e0727a84
Federate video abuses 2017-11-27 19:40:52 +01:00
Chocobozzz d7d5611c8a
Federate video update 2017-11-27 19:40:52 +01:00
Chocobozzz 20494f1221
Server shares user videos 2017-11-27 19:40:52 +01:00
Chocobozzz efc32059d9
Send server announce when users upload a video 2017-11-27 19:40:52 +01:00
Chocobozzz d846501818
Handle announces in inbox 2017-11-27 19:40:52 +01:00
Chocobozzz 8e10cf1a5a
Fix video upload and videos list 2017-11-27 19:40:52 +01:00
Chocobozzz 8e13fa7d09
Add video abuse to activity pub 2017-11-27 19:40:52 +01:00
Chocobozzz 59c857da59
Fix error when creating a fresh database 2017-11-27 19:40:52 +01:00
Chocobozzz 6086242524
Rename Pod -> Server 2017-11-27 19:40:51 +01:00
Chocobozzz 51548b3181
Add follow tabs
Following
Follow
Followers
2017-11-27 19:40:51 +01:00
Chocobozzz 350e31d6b6
Follow works 2017-11-27 19:40:51 +01:00
Chocobozzz e34c85e527
Fix issues on server start 2017-11-27 19:40:51 +01:00
Chocobozzz 8e69648749
Add MANAGE_PEERTUBE_FOLLOW right 2017-11-27 19:40:51 +01:00
Chocobozzz ce548a10db
Send follow/accept 2017-11-27 19:40:51 +01:00
Chocobozzz 7a7724e66e
Handle follow/accept 2017-11-27 19:40:51 +01:00
Chocobozzz 571389d43b
Make it compile at least 2017-11-27 19:40:51 +01:00
Chocobozzz 38fa206583
Remove references to author 2017-11-27 19:40:51 +01:00
Chocobozzz 0d0e8dd090
Continue activitypub 2017-11-27 19:40:51 +01:00
Chocobozzz e4f97babf7
Begin activitypub 2017-11-27 19:40:51 +01:00
Chocobozzz 59557c4663
Don't hash user password once again on update 2017-11-04 18:09:23 +01:00
Chocobozzz 53abc4c272
Upgrade server packages 2017-10-31 16:31:24 +01:00
Chocobozzz fd45e8f43c
Add video privacy setting 2017-10-31 11:53:13 +01:00
Chocobozzz 2de96f4d6b
Lazy description and previews to video form 2017-10-30 20:26:06 +01:00
Chocobozzz 9567011bf0
Add lazy description on server 2017-10-30 10:16:27 +01:00
Chocobozzz 954605a804
Support roles with rights and add moderator role 2017-10-27 16:55:03 +02:00
Chocobozzz c296250511
Remove sequelize deprecated operators 2017-10-26 16:59:02 +02:00
Chocobozzz 911238e343
Fix integrity issues with after destroy hook 2017-10-26 14:05:20 +02:00
Chocobozzz 6cd44728bb
Fix log in after destroy hook 2017-10-26 12:06:57 +02:00
Chocobozzz b869d19068
Fix join in video events 2017-10-26 11:42:36 +02:00
Chocobozzz a041b17147
Reset video fields when remote update fails 2017-10-26 11:26:35 +02:00
Chocobozzz d412e80e5f
Fix lint 2017-10-26 09:11:38 +02:00
Chocobozzz f5028693a8
Use async/await in lib and initializers 2017-10-26 09:11:38 +02:00
Chocobozzz 72c7248b6f
Add video channels 2017-10-26 09:11:38 +02:00
Chocobozzz a96aed1518
Add ability to download a video from direct link or torrent file 2017-10-19 14:58:28 +02:00
Chocobozzz 8a02bd0433
Add pod list endpoint with pagination, sort... 2017-10-19 09:43:01 +02:00
Chocobozzz 9fd540562c
Fix video removing when it is corrupted 2017-10-19 09:28:35 +02:00
Chocobozzz 164174a6ab
Use preview instead of thumbnail for oembed 2017-10-17 10:35:27 +02:00
Chocobozzz d8755eed1e
Add oembed endpoint 2017-10-16 10:07:26 +02:00
Chocobozzz 14d3270f36
Change how we handle resolution
It was an enum before, now we just use video height
2017-10-09 11:17:36 +02:00
Chocobozzz aa8b6df4a5
Client: handle multiple file resolutions 2017-10-06 11:03:09 +02:00
Chocobozzz ecb455b6c4 Add migration script 2017-10-03 17:16:47 +02:00
Chocobozzz 40298b0254 Implement video transcoding on server side 2017-10-03 15:31:26 +02:00
Chocobozzz f0adb2701c Modify video file size to bigint 2017-09-22 17:02:31 +02:00
Green-Star 792dbaf07f Handle blacklist (#84)
* Client: Add list blacklist feature

* Server: Add list blacklist feature

* Client: Add videoId column

* Server: Add some video infos in the REST api

* Client: Add video information in the blacklist list

* Fix sortable columns :)

* Client: Add removeFromBlacklist feature

* Server: Add removeFromBlacklist feature

* Move to TypeScript

* Move to TypeScript and Promises

* Server: Fix blacklist list sort

* Server: Fetch videos informations

* Use common shared interface for client and server

* Add check-params remove blacklisted video tests

* Add check-params list blacklisted videos tests

* Add list blacklist tests

* Add remove from blacklist tests

* Add video blacklist management tests

* Fix rebase onto develop issues

* Server: Add sort on blacklist id column

* Server: Add blacklists library

* Add blacklist id sort test

* Add check-params tests for blacklist list pagination, count and sort

* Fix coding style

* Increase Remote API tests timeout

* Increase Request scheduler API tests timeout

* Fix typo

* Increase video transcoding API tests timeout

* Move tests to Typescript

* Use lodash orderBy method

* Fix typos

* Client: Remove optional tests in blacklist model attributes

* Move blacklist routes from 'blacklists' to 'blacklist'

* CLient: Remove blacklist-list.component.scss

* Rename 'blacklists' files to 'blacklist'

* Use only BlacklistedVideo interface

* Server: Use getFormattedObjects method in listBlacklist method

* Client: Use new coding style

* Server: Use new sort validator methods

* Server: Use new checkParams methods

* Client: Fix sortable columns
2017-09-22 09:13:43 +02:00
Chocobozzz 91f6f169b1 Fix concurrency error when deleting a video 2017-09-12 14:17:46 +02:00
Chocobozzz fdbda9e3d6 Add tests for npm run scripts 2017-09-07 15:54:34 +02:00
Chocobozzz 77a5501f64 Fix tests and user quota 2017-09-06 17:28:20 +02:00
Chocobozzz 5c98d3bf07 Begin tests for user quota 2017-09-05 22:09:16 +02:00
Chocobozzz 980246ea8f Make tslint happy 2017-09-04 21:45:05 +02:00
Chocobozzz b0f9f39ed7 Begin user quota 2017-09-04 20:07:54 +02:00
Chocobozzz 556ddc3192 Upgrade common server dependencies 2017-08-25 18:36:49 +02:00
Chocobozzz 0aef76c479 Formated -> Formatted 2017-08-25 11:45:31 +02:00
Chocobozzz 93e1258c7c Move video file metadata in their own table
Will be used for user video quotas and multiple video resolutions
2017-08-25 11:36:23 +02:00
Chocobozzz f981dae861 Add previews cache system between pods 2017-07-12 11:56:02 +02:00
Chocobozzz 075f16caac Remove "function" in favor of () => {} 2017-07-11 17:05:55 +02:00
Chocobozzz 0a6658fdcb Use global uuid instead of remoteId for videos 2017-07-11 16:01:56 +02:00
Chocobozzz e6d4b0ff24 Remove any typing from server 2017-07-11 10:59:13 +02:00
Chocobozzz 4771e0008d Better typescript typing for a better world 2017-07-10 19:43:21 +02:00
Chocobozzz ad0997adfb Fix error logging 2017-07-07 18:26:12 +02:00
Chocobozzz 18c8e94508 Video search -> case insensitive 2017-07-06 18:01:02 +02:00
Chocobozzz 6fcd19ba73 Move to promises
Closes https://github.com/Chocobozzz/PeerTube/issues/74
2017-07-05 14:14:16 +02:00
Chocobozzz 154898b0b7 Share models between server and client 2017-06-17 11:28:11 +02:00
Chocobozzz ee9e7b61f5 Create types for model enums 2017-06-16 10:36:18 +02:00
Chocobozzz 70c065d64c Add this context to instance model functions 2017-06-16 09:54:59 +02:00
Chocobozzz 74889a71fe Reorganize model files 2017-06-16 09:45:46 +02:00
Chocobozzz 75d612ce3c Convert scripts to typescript 2017-06-12 21:06:32 +02:00
Chocobozzz 127944aacb Better models define typing 2017-06-11 17:35:32 +02:00
Chocobozzz 69f616ab3a Use shared models 2017-06-11 11:02:35 +02:00
Chocobozzz 69818c9394 Type functions 2017-06-10 22:15:25 +02:00
Chocobozzz 4d4e5cd4dc require -> import 2017-06-05 21:53:49 +02:00
Chocobozzz e02643f32e Type models 2017-05-25 17:32:16 +02:00
Chocobozzz 65fcc3119c First typescript iteration 2017-05-20 09:57:40 +02:00
Chocobozzz 4e284e97b9 Server: finish old jobs at startup 2017-05-05 17:24:16 +02:00
Chocobozzz 227d02fead Server: add job scheduler to transcode video files 2017-05-04 21:12:32 +02:00
Chocobozzz 15d4ee04a9 Server: little refractoring when listing videos 2017-05-01 19:24:37 +02:00
Chocobozzz ab683a8e0d Format video blacklist 2017-04-26 21:42:36 +02:00
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