aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/middlewares/validators
Commit message (Collapse)AuthorAgeFilesLines
* Feature/password protected videos (#5836)Wicklow2023-06-2915-24/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add server endpoints * Refactoring test suites * Update server and add openapi documentation * fix compliation and tests * upload/import password protected video on client * add server error code * Add video password to update resolver * add custom message when sharing pw protected video * improve confirm component * Add new alert in component * Add ability to watch protected video on client * Cannot have password protected replay privacy * Add migration * Add tests * update after review * Update check params tests * Add live videos test * Add more filter test * Update static file privacy test * Update object storage tests * Add test on feeds * Add missing word * Fix tests * Fix tests on live videos * add embed support on password protected videos * fix style * Correcting data leaks * Unable to add password protected privacy on replay * Updated code based on review comments * fix validator and command * Updated code based on review comments
* More specific message when signup is not allowedChocobozzz2023-06-051-1/+1
|
* Use largest avatar in RSS feeds, unique guid for liveItems (#5817)Alecks Gates2023-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | | * Attempt to get largest avatar size * WIP live guid changes * Use largest avatar version in feeds * Misc variable names/import changes * Update podcast feed tests for guid changes * More <guid> testing * Lint fix * Styling --------- Co-authored-by: Chocobozzz <me@florianbigard.com>
* Update server dependenciesChocobozzz2023-05-221-1/+1
|
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-222-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Initial test implementation of Podcast RSS This is a pretty simple implementation to add support for The Podcast Namespace in RSS -- instead of affecting the existing RSS implementation, this adds a new UI option. I attempted to retain compatibility with the rest of the RSS feed implementation as much as possible and have created a temporary fork of the "pfeed" library to support this effort. * Update to pfeed-podcast 1.2.2 * Add correct feed image to RSS channel * Prefer HLS videos for podcast RSS Remove video/stream titles, add optional height attribute to podcast RSS * Prefix podcast RSS images with root server URL * Add optional video query support to include captions * Add transcripts & person images to podcast RSS feed * Prefer webseed/webtorrent files over HLS fragmented mp4s * Experimentally adding podcast fields to basic config page * Add validation for new basic config fields * Don't include "content" in podcast feed, use full description for "description" * Add medium/socialInteract to podcast RSS feeds. Use HTML for description * Change base production image to bullseye, install prosody in image * Add liveItem and trackers to Podcast RSS feeds Remove height from alternateEnclosure, replaced with title. * Clear Podcast RSS feed cache when live streams start/end * Upgrade to Node 16 * Refactor clearCacheRoute to use ApiCache * Remove unnecessary type hint * Update dockerfile to node 16, install python-is-python2 * Use new file paths for captions/playlists * Fix legacy videos in RSS after migration to object storage * Improve method of identifying non-fragmented mp4s in podcast RSS feeds * Don't include fragmented MP4s in podcast RSS feeds * Add experimental support for podcast:categories on the podcast RSS item * Fix undefined category when no videos exist Allows for empty feeds to exist (important for feeds that might only go live) * Add support for podcast:locked -- user has to opt in to show their email * Use comma for podcast:categories delimiter * Make cache clearing async * Fix merge, temporarily test with pfeed-podcast * Syntax changes * Add EXT_MIMETYPE constants for captions * Update & fix tests, fix enclosure mimetypes, remove admin email * Add test for podacst:socialInteract * Add filters hooks for podcast customTags * Remove showdown, updated to pfeed-podcast 6.1.2 * Add 'action:api.live-video.state.updated' hook * Avoid assigning undefined category to podcast feeds * Remove nvmrc * Remove comment * Remove unused podcast config * Remove more unused podcast config * Fix MChannelAccountDefault type hint missed in merge * Remove extra line * Re-add newline in config * Fix lint errors for isEmailPublic * Fix thumbnails in podcast feeds * Requested changes based on review * Provide podcast rss 2.0 only on video channels * Misc cleanup for a less messy PR * Lint fixes * Remove pfeed-podcast * Add peertube version to new hooks * Don't use query include, remove TODO * Remove film medium hack * Clear podcast rss cache before video/channel update hooks * Clear podcast rss cache before video uploaded/deleted hooks * Refactor podcast feed cache clearing * Set correct person name from video channel * Styling * Fix tests --------- Co-authored-by: Chocobozzz <me@florianbigard.com>
* Include err type in resChocobozzz2023-05-221-0/+1
|
* Force stop remote live transcodingChocobozzz2023-05-221-2/+25
|
* Fix pending subscription deletionChocobozzz2023-05-171-17/+46
|
* Prefer video studio instead of video editionChocobozzz2023-05-091-2/+2
| | | | Clearer and easier to find in the project
* Support studio transcoding in peertube runnerChocobozzz2023-05-093-1/+57
|
* Add TMP persistent directoryChocobozzz2023-05-091-3/+3
| | | | To store files that must be preserved between peertube restarts
* Implement remote runner jobs in serverChocobozzz2023-05-0910-2/+335
| | | | Move ffmpeg functions to @shared
* Allow to update a live with untouched privacyChocobozzz2023-04-141-1/+1
|
* Feature/filter already watched videos (#5739)Wicklow2023-04-121-0/+11
| | | | | * filter already watched videos * Updated code based on review comments
* feature/ability to disable video history by default (#5728)Wicklow2023-04-072-0/+4
| | | | | | | | | | | | | * draft: ability to disable video history by default * Update configuration and add tests * Updated code based on review comments * Add tests on registration and video quota * Remove required video quotas in query * Fix tests
* Feature/Add replay privacy (#5692)Wicklow2023-03-311-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | * Add replay settings feature * Fix replay settings behaviour * Fix tests * Fix tests * Fix tests * Update openapi doc and fix tests * Add tests and fix code * Models correction * Add migration and update controller and middleware * Add check params tests * Fix video live middleware * Updated code based on review comments
* Add additional check for playlistNameChocobozzz2023-02-271-1/+5
|
* Fix filters on playlistsWicklow2023-02-231-1/+1
|
* Add ability to not send an email for registrationChocobozzz2023-01-201-1/+6
|
* Implement signup approval in serverChocobozzz2023-01-198-211/+399
|
* Add ability to get user from file tokenChocobozzz2022-12-201-7/+5
|
* Support reinjecting token in private m3u8 playlistChocobozzz2022-12-022-3/+10
|
* Fix server lintChocobozzz2022-11-151-2/+2
|
* Don't inject untrusted inputChocobozzz2022-11-1510-13/+23
| | | | | Even if it's already checked in middlewares It's better to have safe modals too
* Add ability to install alpha/beta/rc pluginChocobozzz2022-11-142-6/+11
|
* Option to disable static files auth check/s3 proxyChocobozzz2022-10-272-0/+21
|
* Use private ACL for private videos in s3Chocobozzz2022-10-242-20/+58
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-244-25/+200
|
* Allow admins to disable two factor authChocobozzz2022-10-071-15/+32
|
* Support two factor authentication in backendChocobozzz2022-10-074-57/+174
|
* Ask password reset/email verif error handlingChocobozzz2022-09-281-0/+14
| | | | With a user that uses a plugin authentication
* Add akismet testsChocobozzz2022-09-231-2/+3
|
* Check channel sync id is owned by channelChocobozzz2022-09-161-0/+7
|
* Fix channel sync right checkChocobozzz2022-09-081-7/+8
|
* Cleanup tests importsChocobozzz2022-08-174-15/+15
|
* Remove unnecessary logsChocobozzz2022-08-1745-352/+46
|
* Cleanup useless express validator messagesChocobozzz2022-08-1743-419/+512
|
* Add playback metric endpoint sent to OTELChocobozzz2022-08-162-0/+57
|
* Add ability to list comments on local videosChocobozzz2022-08-161-0/+6
|
* Add ability to list imports of a channel syncChocobozzz2022-08-105-17/+57
|
* Channel sync (#5135)Florent2022-08-105-18/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add external channel URL for channel update / creation (#754) * Disallow synchronisation if user has no video quota (#754) * More constraints serverside (#754) * Disable sync if server configuration does not allow HTTP import (#754) * Working version synchronizing videos with a job (#754) TODO: refactoring, too much code duplication * More logs and try/catch (#754) * Fix eslint error (#754) * WIP: support synchronization time change (#754) * New frontend #754 * WIP: Create sync front (#754) * Enhance UI, sync creation form (#754) * Warning message when HTTP upload is disallowed * More consistent names (#754) * Binding Front with API (#754) * Add a /me API (#754) * Improve list UI (#754) * Implement creation and deletion routes (#754) * Lint (#754) * Lint again (#754) * WIP: UI for triggering import existing videos (#754) * Implement jobs for syncing and importing channels * Don't sync videos before sync creation + avoid concurrency issue (#754) * Cleanup (#754) * Cleanup: OpenAPI + API rework (#754) * Remove dead code (#754) * Eslint (#754) * Revert the mess with whitespaces in constants.ts (#754) * Some fixes after rebase (#754) * Several fixes after PR remarks (#754) * Front + API: Rename video-channels-sync to video-channel-syncs (#754) * Allow enabling channel sync through UI (#754) * getChannelInfo (#754) * Minor fixes: openapi + model + sql (#754) * Simplified API validators (#754) * Rename MChannelSync to MChannelSyncChannel (#754) * Add command for VideoChannelSync (#754) * Use synchronization.enabled config (#754) * Check parameters test + some fixes (#754) * Fix conflict mistake (#754) * Restrict access to video channel sync list API (#754) * Start adding unit test for synchronization (#754) * Continue testing (#754) * Tests finished + convertion of job to scheduler (#754) * Add lastSyncAt field (#754) * Fix externalRemoteUrl sort + creation date not well formatted (#754) * Small fix (#754) * Factorize addYoutubeDLImport and buildVideo (#754) * Check duplicates on channel not on users (#754) * factorize thumbnail generation (#754) * Fetch error should return status 400 (#754) * Separate video-channel-import and video-channel-sync-latest (#754) * Bump DB migration version after rebase (#754) * Prettier states in UI table (#754) * Add DefaultScope in VideoChannelSyncModel (#754) * Fix audit logs (#754) * Ensure user can upload when importing channel + minor fixes (#754) * Mark synchronization as failed on exception + typos (#754) * Change REST API for importing videos into channel (#754) * Add option for fully synchronize a chnanel (#754) * Return a whole sync object on creation to avoid tricks in Front (#754) * Various remarks (#754) * Single quotes by default (#754) * Rename synchronization to video_channel_synchronization * Add check.latest_videos_count and max_per_user options (#754) * Better channel rendering in list #754 * Allow sorting with channel name and state (#754) * Add missing tests for channel imports (#754) * Prefer using a parent job for channel sync * Styling * Client styling Co-authored-by: Chocobozzz <me@florianbigard.com>
* Add option to not transcode original resolutionChocobozzz2022-08-091-0/+5
|
* Use single quotes in server/ and update eslint rulesFlorent2022-08-081-2/+2
|
* Add ability to delete a specific video fileChocobozzz2022-08-011-1/+86
|
* Prevent error on highlighted threadChocobozzz2022-07-291-3/+9
|
* Add live and viewers otel metricsChocobozzz2022-07-271-1/+1
|
* Add rejected state to followsChocobozzz2022-07-272-7/+30
| | | | Prevent reprocessing already rejected follows
* Add ability for client to create server logsChocobozzz2022-07-181-3/+49
|
* /!\ Use a dedicated config file for developmentChocobozzz2022-07-062-5/+5
| | | | | It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it npm run dev:* commands are already updated
* Rename video full loadingChocobozzz2022-06-281-1/+1
|