X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fvideo-abuse%2Fvideo-abuse.service.ts;h=61b7e1b9880dfbbdeacd1e3b6f229229eaf6af7c;hb=3dfa84940273619ae00f11a5f419a5e4876b2f53;hp=8d979de31ebd3c8d956300ca0104d82af7a07fed;hpb=3523b64a03d677c2f8df61c121ff4fcb1d9db7f9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/video-abuse/video-abuse.service.ts b/client/src/app/shared/video-abuse/video-abuse.service.ts index 8d979de31..61b7e1b98 100644 --- a/client/src/app/shared/video-abuse/video-abuse.service.ts +++ b/client/src/app/shared/video-abuse/video-abuse.service.ts @@ -1,19 +1,15 @@ -import { Injectable } from '@angular/core' +import { catchError, map } from 'rxjs/operators' import { HttpClient, HttpParams } from '@angular/common/http' -import 'rxjs/add/operator/catch' -import 'rxjs/add/operator/map' -import { Observable } from 'rxjs/Observable' - +import { Injectable } from '@angular/core' import { SortMeta } from 'primeng/components/common/sortmeta' - -import { AuthService } from '../core' +import { Observable } from 'rxjs' +import { ResultList, VideoAbuse, VideoAbuseUpdate } from '../../../../../shared' +import { environment } from '../../../environments/environment' import { RestExtractor, RestPagination, RestService } from '../rest' -import { Utils } from '../utils' -import { ResultList, VideoAbuse } from '../../../../../shared' @Injectable() export class VideoAbuseService { - private static BASE_VIDEO_ABUSE_URL = API_URL + '/api/v1/videos/' + private static BASE_VIDEO_ABUSE_URL = environment.apiUrl + '/api/v1/videos/' constructor ( private authHttp: HttpClient, @@ -28,9 +24,10 @@ export class VideoAbuseService { params = this.restService.addRestGetParams(params, pagination, sort) return this.authHttp.get>(url, { params }) - .map(res => this.restExtractor.convertResultListDateToHuman(res)) - .map(res => this.restExtractor.applyToResultListData(res, this.formatVideoAbuse.bind(this))) - .catch(res => this.restExtractor.handleError(res)) + .pipe( + map(res => this.restExtractor.convertResultListDateToHuman(res)), + catchError(res => this.restExtractor.handleError(res)) + ) } reportVideo (id: number, reason: string) { @@ -40,14 +37,28 @@ export class VideoAbuseService { } return this.authHttp.post(url, body) - .map(this.restExtractor.extractDataBool) - .catch(res => this.restExtractor.handleError(res)) + .pipe( + map(this.restExtractor.extractDataBool), + catchError(res => this.restExtractor.handleError(res)) + ) } - private formatVideoAbuse (videoAbuse: VideoAbuse) { - return Object.assign(videoAbuse, { - createdAt: Utils.dateToHuman(videoAbuse.createdAt) - }) + updateVideoAbuse (videoAbuse: VideoAbuse, abuseUpdate: VideoAbuseUpdate) { + const url = VideoAbuseService.BASE_VIDEO_ABUSE_URL + videoAbuse.video.uuid + '/abuse/' + videoAbuse.id + + return this.authHttp.put(url, abuseUpdate) + .pipe( + map(this.restExtractor.extractDataBool), + catchError(res => this.restExtractor.handleError(res)) + ) } -} + removeVideoAbuse (videoAbuse: VideoAbuse) { + const url = VideoAbuseService.BASE_VIDEO_ABUSE_URL + videoAbuse.video.uuid + '/abuse/' + videoAbuse.id + + return this.authHttp.delete(url) + .pipe( + map(this.restExtractor.extractDataBool), + catchError(res => this.restExtractor.handleError(res)) + ) + }}