X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-main%2Fvideo%2Fvideo.service.ts;h=8c8b1e08ff701a6ebef0cc5c9c1cbadb1e88b900;hb=1bb4c9ab2e8b3b3022351b33a82a5e527fa5d4d7;hp=83bc4eeb6a4e551d452d38dad667497c14e1b363;hpb=64324ac646b0938e35cd88771492623b640bd0d8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-main/video/video.service.ts b/client/src/app/shared/shared-main/video/video.service.ts index 83bc4eeb6..8c8b1e08f 100644 --- a/client/src/app/shared/shared-main/video/video.service.ts +++ b/client/src/app/shared/shared-main/video/video.service.ts @@ -5,6 +5,7 @@ import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http' import { Injectable } from '@angular/core' import { AuthService, ComponentPaginationLight, RestExtractor, RestService, ServerService, UserService } from '@app/core' import { objectToFormData } from '@app/helpers' +import { arrayify } from '@shared/core-utils' import { BooleanBothQuery, FeedFormat, @@ -285,7 +286,7 @@ export class VideoService { } removeVideo (idArg: number | number[]) { - const ids = Array.isArray(idArg) ? idArg : [ idArg ] + const ids = arrayify(idArg) return from(ids) .pipe( @@ -304,6 +305,11 @@ export class VideoService { ) } + removeFile (videoId: number | string, fileId: number, type: 'hls' | 'webtorrent') { + return this.authHttp.delete(VideoService.BASE_VIDEO_URL + '/' + videoId + '/' + type + '/' + fileId) + .pipe(catchError(err => this.restExtractor.handleError(err))) + } + runTranscoding (videoIds: (number | string)[], type: 'hls' | 'webtorrent') { const body: VideoTranscodingCreate = { transcodingType: type } @@ -338,19 +344,19 @@ export class VideoService { ) } - setVideoLike (id: number) { + setVideoLike (id: string) { return this.setVideoRate(id, 'like') } - setVideoDislike (id: number) { + setVideoDislike (id: string) { return this.setVideoRate(id, 'dislike') } - unsetVideoLike (id: number) { + unsetVideoLike (id: string) { return this.setVideoRate(id, 'none') } - getUserVideoRating (id: number) { + getUserVideoRating (id: string) { const url = UserService.BASE_USERS_URL + 'me/videos/' + id + '/rating' return this.authHttp.get(url) @@ -438,14 +444,14 @@ export class VideoService { if (skipCount) newParams = newParams.set('skipCount', skipCount + '') - if (isLocal) newParams = newParams.set('isLocal', isLocal) - if (include) newParams = newParams.set('include', include) - if (isLive) newParams = newParams.set('isLive', isLive) - if (nsfw) newParams = newParams.set('nsfw', nsfw) - if (nsfwPolicy) newParams = newParams.set('nsfw', this.nsfwPolicyToParam(nsfwPolicy)) - if (languageOneOf) newParams = this.restService.addArrayParams(newParams, 'languageOneOf', languageOneOf) - if (categoryOneOf) newParams = this.restService.addArrayParams(newParams, 'categoryOneOf', categoryOneOf) - if (privacyOneOf) newParams = this.restService.addArrayParams(newParams, 'privacyOneOf', privacyOneOf) + if (isLocal !== undefined) newParams = newParams.set('isLocal', isLocal) + if (include !== undefined) newParams = newParams.set('include', include) + if (isLive !== undefined) newParams = newParams.set('isLive', isLive) + if (nsfw !== undefined) newParams = newParams.set('nsfw', nsfw) + if (nsfwPolicy !== undefined) newParams = newParams.set('nsfw', this.nsfwPolicyToParam(nsfwPolicy)) + if (languageOneOf !== undefined) newParams = this.restService.addArrayParams(newParams, 'languageOneOf', languageOneOf) + if (categoryOneOf !== undefined) newParams = this.restService.addArrayParams(newParams, 'categoryOneOf', categoryOneOf) + if (privacyOneOf !== undefined) newParams = this.restService.addArrayParams(newParams, 'privacyOneOf', privacyOneOf) return newParams } @@ -466,7 +472,7 @@ export class VideoService { } } - private setVideoRate (id: number, rateType: UserVideoRateType) { + private setVideoRate (id: string, rateType: UserVideoRateType) { const url = `${VideoService.BASE_VIDEO_URL}/${id}/rate` const body: UserVideoRateUpdate = { rating: rateType