aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api
Commit message (Collapse)AuthorAgeFilesLines
* Add Podcast RSS feeds (#5487)Alecks Gates2023-05-222-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Fix peertube runner concurrencyChocobozzz2023-05-191-0/+2
|
* More robust accept job controllerChocobozzz2023-05-171-6/+22
|
* Set actor preferred name case insensitiveChocobozzz2023-05-111-1/+1
|
* Fix reset sequelize instanceChocobozzz2023-05-113-3/+3
|
* Prefer video studio instead of video editionChocobozzz2023-05-092-5/+5
| | | | Clearer and easier to find in the project
* Support studio transcoding in peertube runnerChocobozzz2023-05-094-11/+55
|
* Add TMP persistent directoryChocobozzz2023-05-091-10/+30
| | | | To store files that must be preserved between peertube restarts
* Implement remote runner jobs in serverChocobozzz2023-05-0910-125/+692
| | | | Move ffmpeg functions to @shared
* Don't call plugin register/unregister methodsChocobozzz2023-05-051-2/+2
|
* feature/ability to disable video history by default (#5728)Wicklow2023-04-071-0/+5
| | | | | | | | | | | | | * 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-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Handle redis disconnection gracefully (#5599)kontrollanten2023-03-142-1/+11
| | | | | * feat(server/api/contact): handle redis disconnection * feat(server/api/metrics): handle metrics disabled
* Add server hooks for listing subscriptionWicklow2023-02-251-2/+9
|
* Fix filters on playlistsWicklow2023-02-231-1/+1
|
* Update server dependenciesChocobozzz2023-02-163-5/+7
|
* Fix retrying update on sql serialization conflictChocobozzz2023-02-143-12/+6
|
* Add ability to not send an email for registrationChocobozzz2023-01-201-5/+18
|
* (breaking): Always list nsfw videos in playlistsChocobozzz2023-01-191-5/+2
| | | | | | Keep the same behaviour as unlisted videos The frontend is in charge to blur the video element if the nsfw setting is "hide" or "blur"
* Implement signup approval in serverChocobozzz2023-01-194-92/+316
|
* Use raw sql for commentsChocobozzz2023-01-091-3/+4
|
* Add ability to get user from file tokenChocobozzz2022-12-201-1/+1
|
* Update changelogChocobozzz2022-11-241-0/+1
|
* Fix server lintChocobozzz2022-11-151-2/+8
|
* Don't inject untrusted inputChocobozzz2022-11-154-6/+10
| | | | | Even if it's already checked in middlewares It's better to have safe modals too
* Prevent broken transcoding with audio only inputChocobozzz2022-11-141-0/+2
|
* Fix running again transcoding on a video only fileChocobozzz2022-11-071-3/+3
|
* Fix transcoding failure when importing a videoChocobozzz2022-10-311-1/+1
|
* Put private videos under a specific subdirectoryChocobozzz2022-10-244-56/+57
|
* feat: show contained playlists under My videos (#5125)kontrollanten2022-10-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * feat: show contained playlists under My videos closes #4769 * refactor(server): remove unused types * fixes after code review * fix(client/video-miniature): add to playlist * fix(server/user/me): shortUUID response * Revert "fix(client/video-miniature): add to playlist" This reverts commit f1a0412391c7e2370b87df2594c9fe3f39a40ddc. * fix(client/PlaylistService): caching * Revert "fix(server/user/me): shortUUID response" This reverts commit e3f1ee4e335739b895bced938540c003df24af73. * Fix fetching playlists Co-authored-by: Chocobozzz <me@florianbigard.com>
* Encrypt OTP secretChocobozzz2022-10-101-5/+9
|
* Allow admins to disable two factor authChocobozzz2022-10-071-3/+3
|
* Support two factor authentication in backendChocobozzz2022-10-073-1/+99
|
* Ask password reset/email verif error handlingChocobozzz2022-09-281-1/+1
| | | | With a user that uses a plugin authentication
* Fix channel sync right checkChocobozzz2022-09-084-20/+20
|
* Add playback metric endpoint sent to OTELChocobozzz2022-08-162-1/+30
|
* Add ability to list comments on local videosChocobozzz2022-08-161-0/+1
|
* Add ability to list imports of a channel syncChocobozzz2022-08-102-6/+14
|
* Channel sync (#5135)Florent2022-08-107-268/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Fix job queue testsChocobozzz2022-08-091-3/+3
|
* Fix upload notificationChocobozzz2022-08-091-0/+9
|
* Remove unused logChocobozzz2022-08-091-2/+0
|
* Avoid concurrency issue on transcodingChocobozzz2022-08-091-18/+72
|
* Use bullmq job dependencyChocobozzz2022-08-0910-72/+82
|
* Move to bullmqChocobozzz2022-08-093-10/+11
|
* Limit import depending on transcoding resolutionsChocobozzz2022-08-093-2/+8
|
* Fix resolution to transcode hook nameChocobozzz2022-08-091-1/+1
|
* Add option to not transcode original resolutionChocobozzz2022-08-092-7/+7
|
* Add channel server hooksChocobozzz2022-08-032-8/+25
|
* Add plugin hook on transcoding resolutions buildingChocobozzz2022-08-021-1/+10
|