diff options
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.ts | 27 |
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 @@ | |||
1 | import { SortMeta } from 'primeng/api' | 1 | import { SortMeta } from 'primeng/api' |
2 | import { from, Observable } from 'rxjs' | 2 | import { from, Observable, of } from 'rxjs' |
3 | import { catchError, concatMap, map, switchMap, toArray } from 'rxjs/operators' | 3 | import { catchError, concatMap, map, switchMap, toArray } from 'rxjs/operators' |
4 | import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http' | 4 | import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http' |
5 | import { Injectable } from '@angular/core' | 5 | import { 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' |
27 | import { VideoSource } from '@shared/models/videos/video-source' | ||
27 | import { environment } from '../../../../environments/environment' | 28 | import { environment } from '../../../../environments/environment' |
28 | import { Account } from '../account/account.model' | 29 | import { Account } from '../account/account.model' |
29 | import { AccountService } from '../account/account.service' | 30 | import { 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 |