Commit Graph

746 Commits

Author SHA1 Message Date
Chocobozzz 4dae00e68b
Use local object URLs for feeds 2018-06-14 11:25:19 +02:00
Chocobozzz 9a4a9b6c4e
Fix offset/limit on some SQL queries 🤦 2018-06-13 18:07:35 +02:00
Chocobozzz 749c7247ae
Fix bad RSS descriptions when filtering videos by account or channel 2018-06-13 15:07:45 +02:00
Chocobozzz 2186386cca
Add concept of video state, and add ability to wait transcoding before
publishing a video
2018-06-12 20:37:51 +02:00
Chocobozzz 6ccdf3a23e
Fix import with when the imported file has the same extension than an
already existing file
2018-06-11 19:16:00 +02:00
Chocobozzz fe3a55b071
Add video comments RSS 2018-06-08 20:34:37 +02:00
Chocobozzz 28be89161a
Improve create import file job
Fix federation of .ogv videos
2018-06-07 09:43:18 +02:00
Florent Fayolle 0138af9237 Add create-import-video-file-job command 2018-06-07 08:57:48 +02:00
Chocobozzz 9588d4f49b
Correctly forward video related activities 2018-05-31 10:23:56 +02:00
Chocobozzz 02756fbd11
Improve torrent/video download 2018-05-29 18:30:11 +02:00
Chocobozzz e3d5ea4f82
Fix actor outbox 2018-05-28 12:13:00 +02:00
Chocobozzz 8fffe21a7b
Refractor and optimize AP collections
Only display urls in general object, and paginate video comments, shares, likes and
dislikes
2018-05-25 16:21:16 +02:00
Chocobozzz 06be7ed0b2
Reload my videos after delete 2018-05-25 08:38:59 +02:00
Chocobozzz a4f99a766b
Add owner in video channel page 2018-05-23 11:38:18 +02:00
Chocobozzz e1a540b5fa
Fix insane SQL request when loading all video attributes 2018-05-23 09:07:32 +02:00
Chocobozzz 2efd32f697
Fix updating video tags to empty field 2018-05-16 09:42:56 +02:00
Chocobozzz 0f320037e6
Add ability to update a video channel 2018-05-11 15:25:51 +02:00
Chocobozzz a10fc78bb0
Fix video channel description/support max length 2018-05-09 13:32:44 +02:00
Chocobozzz 03e12d7c49
Add account link in videos list 2018-04-25 14:32:19 +02:00
Chocobozzz 6b738c7a31
Video channel API routes refractor 2018-04-25 13:50:48 +02:00
Chocobozzz 48dce1c90d
Update video channel routes 2018-04-24 17:12:57 +02:00
Chocobozzz 0626e7af82
Add account view 2018-04-24 15:13:19 +02:00
Chocobozzz 9d3ef9fe05
Use ISO 639 for languages 2018-04-23 14:39:52 +02:00
Chocobozzz 6cced8f915
Add resolution in torrent file name 2018-04-19 15:37:44 +02:00
Chocobozzz 81e504b34e
Better file name for torrent 2018-04-19 15:13:41 +02:00
Chocobozzz 2243730c8e
Add information concerning video privacy in my videos list 2018-04-19 14:52:10 +02:00
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
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