1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-04 18:29:27 +02:00

Feature/password protected videos (#5836)

* 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
This commit is contained in:
Wicklow 2023-06-29 07:48:55 +00:00 committed by GitHub
parent ae22c59f14
commit 40346ead2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
122 changed files with 2631 additions and 251 deletions

View file

@ -36,11 +36,12 @@ export class CommentsCommand extends AbstractCommand {
listThreads (options: OverrideCommandOptions & {
videoId: number | string
videoPassword?: string
start?: number
count?: number
sort?: string
}) {
const { start, count, sort, videoId } = options
const { start, count, sort, videoId, videoPassword } = options
const path = '/api/v1/videos/' + videoId + '/comment-threads'
return this.getRequestBody<VideoCommentThreads>({
@ -48,6 +49,7 @@ export class CommentsCommand extends AbstractCommand {
path,
query: { start, count, sort },
headers: this.buildVideoPasswordHeader(videoPassword),
implicitToken: false,
defaultExpectedStatus: HttpStatusCode.OK_200
})
@ -72,8 +74,9 @@ export class CommentsCommand extends AbstractCommand {
async createThread (options: OverrideCommandOptions & {
videoId: number | string
text: string
videoPassword?: string
}) {
const { videoId, text } = options
const { videoId, text, videoPassword } = options
const path = '/api/v1/videos/' + videoId + '/comment-threads'
const body = await unwrapBody<{ comment: VideoComment }>(this.postBodyRequest({
@ -81,6 +84,7 @@ export class CommentsCommand extends AbstractCommand {
path,
fields: { text },
headers: this.buildVideoPasswordHeader(videoPassword),
implicitToken: true,
defaultExpectedStatus: HttpStatusCode.OK_200
}))
@ -95,8 +99,9 @@ export class CommentsCommand extends AbstractCommand {
videoId: number | string
toCommentId: number
text: string
videoPassword?: string
}) {
const { videoId, toCommentId, text } = options
const { videoId, toCommentId, text, videoPassword } = options
const path = '/api/v1/videos/' + videoId + '/comments/' + toCommentId
const body = await unwrapBody<{ comment: VideoComment }>(this.postBodyRequest({
@ -104,6 +109,7 @@ export class CommentsCommand extends AbstractCommand {
path,
fields: { text },
headers: this.buildVideoPasswordHeader(videoPassword),
implicitToken: true,
defaultExpectedStatus: HttpStatusCode.OK_200
}))