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
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
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
ed708d62a6
Server: fix migrations with an empty Applications table
2017-03-04 10:40:09 +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
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
9cc99d7b56
Fix update host script
2017-02-08 20:34:01 +01:00
Chocobozzz
11ac88de40
Client: add basic support to report video abuses
2017-01-23 22:18:53 +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
91cc839af8
Server: fix single pod tests
2017-01-12 13:08:47 +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
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
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
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
178edb2025
Server: correctly sort tags by name asc
2016-12-26 17:44:25 +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
Bigard Florian
8e124f999b
Server: fix magnet tracker websocket url for remote videos
2016-11-23 13:34:07 +01:00
Chocobozzz
8f21730250
Server: add extname video information to remote pods
2016-11-22 22:34:59 +01:00
Chocobozzz
c77fa067a1
Server: fix thumbnail in remote videos
2016-11-16 21:16:41 +01:00
Chocobozzz
8eb7d0fa09
Server: Remove unused console log
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
55723d16fd
Server: adapt magnet uri search
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
6a94a109b4
Server: add video preview
2016-11-16 20:29:26 +01:00
Chocobozzz
371fa0933a
Server: fix refreshing token
2016-11-04 11:34:23 +01:00
Chocobozzz
4b08096b2c
Server: add endpoint in requests
2016-11-01 18:47:57 +01:00
Chocobozzz
bf2fc85c83
Server: fix refreshing token that fails
2016-11-01 18:16:47 +01:00
Chocobozzz
cf6412e85d
Server: videos search case insensitive
2016-10-26 20:37:27 +02:00
Chocobozzz
3737bbafb1
Server: host -> hostname (host = hostname + port)
2016-10-26 20:28:34 +02:00
Chocobozzz
43666d616d
Server: randomize the requests list
...
We don't want to stuck with the same failing requests
2016-10-26 20:28:34 +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
c2ee5ce83a
Server: wait pod removal when finishing a request
2016-10-17 21:38:14 +02:00
Chocobozzz
25cad91992
Server: handle tls websockets
2016-10-17 21:10:29 +02:00
Chocobozzz
bf94b6f0a1
Server: update to webseed implementation (tests, lint...)
2016-10-07 13:59:06 +02:00
Chocobozzz
a6375e6966
Merge branch 'master' into webseed-merged
2016-10-02 15:39:09 +02:00
Chocobozzz
c4403b29ad
Server: remove useless hash affectations
2016-10-02 12:19:02 +02:00
Chocobozzz
d6cf31b7e0
Server: add informations when removing requests of unexisting pod
2016-10-01 16:10:18 +02:00
Chocobozzz
5abeec313f
Server: fix remaining milli seconds before the next requests feature
2016-10-01 15:33:27 +02:00
Chocobozzz
7c34bc6491
Server: fix error log when a friend request fails
2016-10-01 10:10:49 +02:00
Chocobozzz
b91359055f
Server: add information why a friend request failed (status code)
2016-10-01 09:48:49 +02:00
Chocobozzz
b81929a014
Server: when we remove a user, remove the oauthtokens too
2016-10-01 09:12:02 +02:00
Chocobozzz
00d6b0dda4
Add migration (for db, folders...) mechanism
2016-09-26 22:39:58 +02:00
Chocobozzz
d74a0680f7
Server: show user created date for the api
2016-09-23 17:19:57 +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
26d7d31ba3
Server: encrypt password in database
2016-08-25 17:57:37 +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
089ff2f204
Server: optimize function to see if there are users or not
2016-08-16 21:51:35 +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
9bd2662976
Implement user API (create, update, remove, list)
2016-08-04 22:33:38 +02:00
Chocobozzz
e4c556196d
Server: reorganize express validators
2016-07-31 20:58:43 +02:00
Chocobozzz
052937db8a
First draft using only webseed for server
2016-07-27 21:21:57 +02:00
Chocobozzz
32bb415602
Server: Use ES6 promise for mongoose/node-oatuh2-server
2016-07-27 21:16:19 +02:00
Chocobozzz
419633ce9d
Server: throttle "seedAll" when starting the server
2016-07-21 17:15:29 +02:00
Chocobozzz
2f372a8654
Server: implement refresh token
2016-07-20 16:23:58 +02:00
Chocobozzz
1a42c9e2c0
Server: udpate async to 2.0.0
2016-07-18 17:17:52 +02:00
Chocobozzz
b359546358
Server: limit actions for each request between pods
2016-07-06 19:59:01 +02:00
Chocobozzz
4fea95df04
Server: fix videos pagination
2016-07-06 19:57:47 +02:00
Chocobozzz
6666aad459
Fix requests ordering between pods
2016-07-05 21:36:01 +02:00
Chocobozzz
5f698b82c7
Use dashes for filenames
2016-07-01 16:22:36 +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
907e9510c2
Re enable the "seed all videos" function
2016-06-28 20:17:05 +02:00
Chocobozzz
00057e85a7
Request model refractoring -> use mongoose api
2016-06-28 20:10:32 +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
e822fdaeee
Use ng2-file-upload instead of jquery and add tags support to the video
...
upload form
2016-06-07 22:34:02 +02:00
Chocobozzz
8d199cb823
Add tag search support to server
2016-06-06 14:54:52 +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
a877d5acc5
Add ability to sort videos list
2016-05-17 21:03:00 +02:00
Chocobozzz
bb10240ee1
Add createdDate to videos
2016-05-13 20:42:11 +02:00
Chocobozzz
fbf1134e3e
Introduce paginations in videos listing
2016-05-13 18:10:46 +02:00
Chocobozzz
bc503c2a62
Update to standard 7. Goodbye snake_case, I used to love you
2016-05-13 14:23:11 +02:00
Chocobozzz
cbe2f7c348
Refractoring and add thumbnails support (without tests)
2016-05-10 21:19:24 +02:00
Chocobozzz
3a8a8b5122
Video duration support (server)
2016-05-03 22:41:46 +02:00
Chocobozzz
e3647ae226
Rename pool requests --> requests scheduler
2016-05-02 17:25:05 +02:00
Chocobozzz
23a5a916db
Make angular client load dynamically the generated client id/secret
2016-04-27 22:11:48 +02:00
Chocobozzz
0c1cbbfe29
Add authentications for routes that need it and adapts the tests
2016-04-14 22:06:11 +02:00
Chocobozzz
37dc07b292
Create an "installer" module that create defaults clients/users...
2016-03-21 21:11:26 +01:00
Chocobozzz
9457bf8807
OAuth server: first draft
2016-03-21 11:56:33 +01:00
Chocobozzz
f0f5567b69
Use const/let now we use node 4.2
2016-03-16 22:29:27 +01:00
Chocobozzz
5101105ef9
Video lib/model/reqvalidator refractoring
2016-03-16 21:37:17 +01:00
Chocobozzz
3d446a26ad
Fix tests
2016-03-07 18:53:03 +01:00
Chocobozzz
b9a3e09ad5
Prepare folders structure for angular app
2016-03-07 11:33:59 +01:00