For now only an "editor" role is available for collaborators. An editor
has the same right as the channel owner but cannot:
* Delete the channel
* Invite collaborators
* Transfer ownership of a video
* Transfer ownership of a channel (feature not developed yet)
* Invite a new collaborator
* Remove another collaborator
The owner of a channel can invite another local account to be an editor
of the channel. The editor can accept or reject the invitation.
Moved transfer ownership of a video in the "Manage video" page.
Updated the video channel update page to a "Manage" page, like we have
for the video to add an "Editors" sub section, allowing the owner of
the channel to manage channel editors.
Refactored the SQL query classes and added more raw SQL queries for
models that list entities depending on channel collaboration status.
Updated server tests to check editors can manage or cannot manage
channel entities.
* Add Scheduled Lives functionality through originallyPublishedAt
Implements #6604 by reusing the originallyPublishedAt field of isLive videos to mark "waiting for live" videos as scheduled at a set time.
* Hide scheduled lives from Browse Videos page
* Add tests for Scheduled Live videos
* Make scheduled lives use a dedicated scheduledAt field in the VideoLive table
* Plan live schedules to evolve in the future
* Use a dedicated table to store live schedules, so we can add multiple
schedules in the future and also add a title, description etc. for a
specific schedule
* Adapt REST API to use an array to store/get live schedules
* Add REST API param so it's the client choice to include or not
scheduled lives
* Export schedules info in user import/export
---------
Co-authored-by: Chocobozzz <me@florianbigard.com>