diff options
author | Chocobozzz <me@florianbigard.com> | 2018-04-25 16:56:13 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-04-25 16:56:13 +0200 |
commit | 170726f523ff48f89da45473fc53ca54784f43dd (patch) | |
tree | f9f783ebdfc934c6831396c2bf33f658d6640583 /client/src/app/shared/video-channel | |
parent | cc918ac3f45e32f031cce7b6e0473e5c2c34b8ae (diff) | |
download | PeerTube-170726f523ff48f89da45473fc53ca54784f43dd.tar.gz PeerTube-170726f523ff48f89da45473fc53ca54784f43dd.tar.zst PeerTube-170726f523ff48f89da45473fc53ca54784f43dd.zip |
Implement video channel views
Diffstat (limited to 'client/src/app/shared/video-channel')
-rw-r--r-- | client/src/app/shared/video-channel/video-channel.service.ts | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/client/src/app/shared/video-channel/video-channel.service.ts b/client/src/app/shared/video-channel/video-channel.service.ts index 1f9088c38..d8efcc171 100644 --- a/client/src/app/shared/video-channel/video-channel.service.ts +++ b/client/src/app/shared/video-channel/video-channel.service.ts | |||
@@ -9,16 +9,29 @@ import { VideoChannel as VideoChannelServer } from '../../../../../shared/models | |||
9 | import { AccountService } from '../account/account.service' | 9 | import { AccountService } from '../account/account.service' |
10 | import { ResultList } from '../../../../../shared' | 10 | import { ResultList } from '../../../../../shared' |
11 | import { VideoChannel } from './video-channel.model' | 11 | import { VideoChannel } from './video-channel.model' |
12 | import { ReplaySubject } from 'rxjs/ReplaySubject' | ||
13 | import { environment } from '../../../environments/environment' | ||
12 | 14 | ||
13 | @Injectable() | 15 | @Injectable() |
14 | export class VideoChannelService { | 16 | export class VideoChannelService { |
17 | static BASE_VIDEO_CHANNEL_URL = environment.apiUrl + '/api/v1/video-channels/' | ||
18 | |||
19 | videoChannelLoaded = new ReplaySubject<VideoChannel>(1) | ||
20 | |||
15 | constructor ( | 21 | constructor ( |
16 | private authHttp: HttpClient, | 22 | private authHttp: HttpClient, |
17 | private restExtractor: RestExtractor, | 23 | private restExtractor: RestExtractor, |
18 | private restService: RestService | 24 | private restService: RestService |
19 | ) {} | 25 | ) {} |
20 | 26 | ||
21 | getVideoChannels (accountId: number): Observable<ResultList<VideoChannel>> { | 27 | getVideoChannel (videoChannelUUID: string) { |
28 | return this.authHttp.get<VideoChannel>(VideoChannelService.BASE_VIDEO_CHANNEL_URL + videoChannelUUID) | ||
29 | .map(videoChannelHash => new VideoChannel(videoChannelHash)) | ||
30 | .do(videoChannel => this.videoChannelLoaded.next(videoChannel)) | ||
31 | .catch((res) => this.restExtractor.handleError(res)) | ||
32 | } | ||
33 | |||
34 | listAccountVideoChannels (accountId: number): Observable<ResultList<VideoChannel>> { | ||
22 | return this.authHttp.get<ResultList<VideoChannelServer>>(AccountService.BASE_ACCOUNT_URL + accountId + '/video-channels') | 35 | return this.authHttp.get<ResultList<VideoChannelServer>>(AccountService.BASE_ACCOUNT_URL + accountId + '/video-channels') |
23 | .map(res => this.extractVideoChannels(res)) | 36 | .map(res => this.extractVideoChannels(res)) |
24 | .catch((res) => this.restExtractor.handleError(res)) | 37 | .catch((res) => this.restExtractor.handleError(res)) |