Commit Graph

273 Commits

Author SHA1 Message Date
Chocobozzz
35bf0c83c8
Video blacklist refractoring 2017-10-10 10:18:16 +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
40298b0254 Implement video transcoding on server side 2017-10-03 15:31:26 +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
6d33593a08 Improve real world script 2017-09-12 13:12:35 +02:00
Chocobozzz
096641566f Convert real world script to typescript 2017-09-08 17:11:32 +02:00
Chocobozzz
e95561cdf1 Upload a video to /videos/upload
This is an action, not a REST endpoint
2017-09-07 21:46:44 +02:00
Chocobozzz
aa2e7f1501 urls: makefriends/quitfriends -> make-friends/quit-friends 2017-09-07 21:22:17 +02:00
Chocobozzz
77a5501f64 Fix tests and user quota 2017-09-06 17:28:20 +02:00
Chocobozzz
8094a89802 Add user update for admins 2017-09-05 21:29:39 +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
Green-Star
d5f5a670fc Remove one pod (#76)
* Client: Fix typo

* Client: Add removeFriend feature

* Server: Add removeFriend feature

* Server: Update method name

* Fix rebase onto develop issues

* Server: Fix error message

* Server: Remove useless methods in removeFriend method

* Server: Finish remove on pod feature after rebase

* Server: Type pod parameter

* Fix Travis build

* Add friend-basic test for the remove one pod feature

* Add check-params tests for the remove one pod feature

* Fix typos

* Add friend-advanced test for the remove one pod feature

* Client: Trailing new line

* Move to promises

* Add undefined id test

* Use find method instead of a for loop to find the friend to remove

* Remove setTimeout method

* Server: Remove requestScheduler operations

* Server: Fix logging messages

* Server: Remove sign request parameter
2017-08-02 21:50:42 +02:00
Chocobozzz
291e8d3eed Add ability to limit user registrations 2017-07-25 20:17:28 +02:00
Chocobozzz
0b7db72af3 Fix lint 2017-07-12 14:58:34 +02:00
Chocobozzz
d38309c345 Set correctly preview image for open graph 2017-07-12 12:19:39 +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
709756b8e1 Async signature and various fixes 2017-07-07 18:23:18 +02:00
Chocobozzz
6fcd19ba73 Move to promises
Closes https://github.com/Chocobozzz/PeerTube/issues/74
2017-07-05 14:14:16 +02:00
Chocobozzz
ba44fa1953 Move ensureRegistrationEnabled to middlewares 2017-06-25 17:48:51 +02:00
Chocobozzz
0a381679e0 ClientLocal -> OAuthClientLocal 2017-06-25 17:44:19 +02:00
Chocobozzz
e636eb8810 Requests -> RequestSchedulers 2017-06-25 17:19:46 +02:00
Chocobozzz
154898b0b7 Share models between server and client 2017-06-17 11:28:11 +02:00
Chocobozzz
df98563e21 Use typescript standard and lint all files 2017-06-16 14:32:15 +02:00
Chocobozzz
ee9e7b61f5 Create types for model enums 2017-06-16 10:36:18 +02:00
Chocobozzz
15a302943d BaseRequestScheduler -> AbstractRequestScheduler 2017-06-16 09:14:41 +02:00
Chocobozzz
c3d19a4907 Fix video update test 2017-06-12 21:37:56 +02:00
Chocobozzz
1840c2f7c9 Update webpack stack 2017-06-11 15:19:43 +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
d33242b047 Server: split videos controller 2017-05-05 16:53:35 +02:00
Chocobozzz
c24ac1c18e Fix unset video language on video update 2017-05-05 14:29:58 +02:00
Chocobozzz
62326afb15 Server: Fix video propagation with transcoding enabled 2017-05-05 12:15:16 +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
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
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
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
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
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
ad4a8a1cca Add email to users 2017-02-18 09:29:59 +01:00
Chocobozzz
4793c343fd Add email to pods 2017-02-16 19:19:56 +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
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
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
7f4e7c3637 Server: fix update remote video infohash 2017-01-12 09:47:21 +01:00
Chocobozzz
edc5e86006 Server: transaction serializable for videos 2017-01-11 18:41:40 +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
ed04d94f6d Server: try to have a better video integrity 2017-01-06 23:46:36 +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
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
124648d7fc Server: add createdAt from remote video in database 2016-12-25 12:06:08 +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
Chocobozzz
a078c1556f Server: fix logs when adding a remote video 2016-11-22 22:41:50 +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
73ce7f9676 Server: don't be rude when serving unknown video in watch html file 2016-11-16 20:29:26 +01:00
Chocobozzz
2550fab35e Server: add migration scripts to the new mongo schemes 2016-11-16 20:29:26 +01:00
Chocobozzz
49abbbbedc Pod URL -> pod host. HTTPS is required to make friends.
Reason: in a network with mix http/https pods, https pods won't be able
to play videos from http pod (insecure requests).
2016-11-16 20:29:26 +01:00
Chocobozzz
41b5da1d8c Server: use preview image for opengraph 2016-11-16 20:29:26 +01:00
Chocobozzz
f285faa04e Server: generate magnet uri on the fly 2016-11-16 20:29:26 +01:00
Chocobozzz
558d7c2385 Server: use _id for image and video files. Add remoteId field 2016-11-16 20:29:26 +01:00
Chocobozzz
830bcd0f82 Prerender opengraph tags in the server 2016-11-16 20:29:26 +01:00
Chocobozzz
b1233aa856 Server: add log messages if the server refuses to serve local clients tokens 2016-11-01 19:14:33 +01:00
Chocobozzz
3737bbafb1 Server: host -> hostname (host = hostname + port) 2016-10-26 20:28:34 +02:00
Chocobozzz
f253b1c1f1 Server: remove v1 directory, we don't really need it 2016-10-21 12:16:28 +02:00
Chocobozzz
b3d9251015 Server: Uploads -> Videos 2016-10-21 11:33:31 +02:00
Chocobozzz
80a6c9e76f Server: pod removing refractoring 2016-10-21 11:20:45 +02:00
Chocobozzz
792b893ed4 Server: add npm run check to check CORS, bittorrent tracker... 2016-10-21 11:20:14 +02:00
Chocobozzz
82221ac920 Update clean script 2016-10-13 21:45:23 +02:00
Chocobozzz
32e574750a Add "max requests number" information for requests iterations 2016-10-01 15:45:15 +02:00
Chocobozzz
5abeec313f Server: fix remaining milli seconds before the next requests feature 2016-10-01 15:33:27 +02:00
Chocobozzz
1ab844d859 Server: add port when making friends if it is not specified 2016-10-01 14:23:50 +02:00
Chocobozzz
0eb78d5303 Server: do not forget to check the signature when another pod wants to
quit us
2016-10-01 09:09:07 +02:00
Chocobozzz
eb4f957eca Client: add requests stats page 2016-09-23 17:09:38 +02:00
Chocobozzz
d3cd34be2f Server: add requests stats endpoint 2016-09-19 21:33:46 +02:00
Chocobozzz
535724234a Server: add pod created date and score to the list controller 2016-08-26 18:55:10 +02:00
Chocobozzz
9ab1071c8d Do not wait the make friends process ends to send a response to the
request
2016-08-23 14:48:59 +02:00
Chocobozzz
1e2564d392 Server: make friends urls come from the request instead of the
configuration file
2016-08-20 17:11:38 +02:00
Chocobozzz
e861452fb2 Server: put config in constants 2016-08-19 21:34:51 +02:00
Chocobozzz
5c39adb731 Server: add user list sort/pagination 2016-08-16 22:31:45 +02:00
Chocobozzz
0ff21c1c08 Server: video.list -> video.listForApi (with pagination, sort...) 2016-08-16 21:51:04 +02:00
Chocobozzz
68a3b9f2aa Server: delete user with the id and not the username 2016-08-09 21:44:45 +02:00
Chocobozzz
10431358b2 Server: fix status code when updating/removing a user 2016-08-05 18:08:55 +02:00
Chocobozzz
99a64bfed2 Server: allow user to get its informations (/users/me) 2016-08-05 17:19:08 +02:00
Chocobozzz
6606150c49 Server: move clients in its own file 2016-08-05 16:09:39 +02:00
Chocobozzz
9bd2662976 Implement user API (create, update, remove, list) 2016-08-04 22:33:38 +02:00
Chocobozzz
2f372a8654 Server: implement refresh token 2016-07-20 16:23:58 +02:00
Chocobozzz
f9f5478ca0 Server: Don't make the host url check for client credentials if this is a test instance 2016-07-19 16:44:15 +02:00
Chocobozzz
1a42c9e2c0 Server: udpate async to 2.0.0 2016-07-18 17:17:52 +02:00
Chocobozzz
6666aad459 Fix requests ordering between pods 2016-07-05 21:36:01 +02:00
Chocobozzz
fc51fde048 reqValidators --> validators 2016-07-01 16:16:40 +02:00
Chocobozzz
69b0a27cbb OAuth/User models refractoring -> use mongoose api 2016-07-01 16:03:53 +02:00
Chocobozzz
a3ee6fa22d Pod model refractoring -> use mongoose api 2016-06-30 22:39:08 +02:00
Chocobozzz
5189d08aac Video model: namePath -> filename 2016-06-28 20:19:41 +02:00
Chocobozzz
aaf61f3810 Video model refractoring -> use mongoose api 2016-06-24 17:42:51 +02:00
Chocobozzz
528a9efa82 Try to make a better communication (between pods) module 2016-06-18 16:13:54 +02:00
Chocobozzz
be587647f9 Add tags support to server 2016-06-06 14:15:03 +02:00
Chocobozzz
46246b5f19 Extends the search feature by customizing the search field (name,
podUrl...)
2016-05-22 09:15:00 +02:00
Chocobozzz
68ce3ae021 Add total results field and wrap videos in data field when listing
videos
2016-05-21 19:30:22 +02:00
Chocobozzz
9e379c835c Don't send the "http(s)" for the podUrl 2016-05-21 15:05:29 +02:00
Chocobozzz
6e56eb63ac Return with callback with an error 2016-05-19 20:28:17 +02:00
Chocobozzz
a877d5acc5 Add ability to sort videos list 2016-05-17 21:03:00 +02:00
Chocobozzz
67100f1f97 Add a check for the duration of videos 2016-05-16 19:49:10 +02:00
Chocobozzz
1cad0f395f Use async waterfall in pods controller for better readability 2016-05-13 21:34:36 +02:00
Chocobozzz
807df9e668 Use async waterfall in videos controller for better readability 2016-05-13 21:14:14 +02:00