aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/shared-main/video/video.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/shared/shared-main/video/video.service.ts')
-rw-r--r--client/src/app/shared/shared-main/video/video.service.ts27
1 files changed, 21 insertions, 6 deletions
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 9efa1a24e..4fbc4f7f6 100644
--- a/client/src/app/shared/shared-main/video/video.service.ts
+++ b/client/src/app/shared/shared-main/video/video.service.ts
@@ -1,5 +1,5 @@
1import { SortMeta } from 'primeng/api' 1import { SortMeta } from 'primeng/api'
2import { from, Observable } from 'rxjs' 2import { from, Observable, of } from 'rxjs'
3import { catchError, concatMap, map, switchMap, toArray } from 'rxjs/operators' 3import { catchError, concatMap, map, switchMap, toArray } from 'rxjs/operators'
4import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http' 4import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http'
5import { Injectable } from '@angular/core' 5import { Injectable } from '@angular/core'
@@ -24,6 +24,7 @@ import {
24 VideoTranscodingCreate, 24 VideoTranscodingCreate,
25 VideoUpdate 25 VideoUpdate
26} from '@shared/models' 26} from '@shared/models'
27import { VideoSource } from '@shared/models/videos/video-source'
27import { environment } from '../../../../environments/environment' 28import { environment } from '../../../../environments/environment'
28import { Account } from '../account/account.model' 29import { Account } from '../account/account.model'
29import { AccountService } from '../account/account.service' 30import { AccountService } from '../account/account.service'
@@ -323,19 +324,33 @@ export class VideoService {
323 ) 324 )
324 } 325 }
325 326
326 setVideoLike (id: number) { 327 getSource (videoId: number) {
328 return this.authHttp
329 .get<{ source: VideoSource }>(VideoService.BASE_VIDEO_URL + '/' + videoId + '/source')
330 .pipe(
331 catchError(err => {
332 if (err.status === 404) {
333 return of(undefined)
334 }
335
336 this.restExtractor.handleError(err)
337 })
338 )
339 }
340
341 setVideoLike (id: string) {
327 return this.setVideoRate(id, 'like') 342 return this.setVideoRate(id, 'like')
328 } 343 }
329 344
330 setVideoDislike (id: number) { 345 setVideoDislike (id: string) {
331 return this.setVideoRate(id, 'dislike') 346 return this.setVideoRate(id, 'dislike')
332 } 347 }
333 348
334 unsetVideoLike (id: number) { 349 unsetVideoLike (id: string) {
335 return this.setVideoRate(id, 'none') 350 return this.setVideoRate(id, 'none')
336 } 351 }
337 352
338 getUserVideoRating (id: number) { 353 getUserVideoRating (id: string) {
339 const url = UserService.BASE_USERS_URL + 'me/videos/' + id + '/rating' 354 const url = UserService.BASE_USERS_URL + 'me/videos/' + id + '/rating'
340 355
341 return this.authHttp.get<UserVideoRate>(url) 356 return this.authHttp.get<UserVideoRate>(url)
@@ -451,7 +466,7 @@ export class VideoService {
451 } 466 }
452 } 467 }
453 468
454 private setVideoRate (id: number, rateType: UserVideoRateType) { 469 private setVideoRate (id: string, rateType: UserVideoRateType) {
455 const url = `${VideoService.BASE_VIDEO_URL}/${id}/rate` 470 const url = `${VideoService.BASE_VIDEO_URL}/${id}/rate`
456 const body: UserVideoRateUpdate = { 471 const body: UserVideoRateUpdate = {
457 rating: rateType 472 rating: rateType