diff options
Diffstat (limited to 'client/src/app/shared/video/video.service.ts')
-rw-r--r-- | client/src/app/shared/video/video.service.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/client/src/app/shared/video/video.service.ts b/client/src/app/shared/video/video.service.ts index 0a8894fd9..009155410 100644 --- a/client/src/app/shared/video/video.service.ts +++ b/client/src/app/shared/video/video.service.ts | |||
@@ -8,6 +8,7 @@ import { ResultList } from '../../../../../shared/models/result-list.model' | |||
8 | import { UserVideoRateUpdate } from '../../../../../shared/models/videos/user-video-rate-update.model' | 8 | import { UserVideoRateUpdate } from '../../../../../shared/models/videos/user-video-rate-update.model' |
9 | import { UserVideoRate } from '../../../../../shared/models/videos/user-video-rate.model' | 9 | import { UserVideoRate } from '../../../../../shared/models/videos/user-video-rate.model' |
10 | import { VideoFilter } from '../../../../../shared/models/videos/video-query.type' | 10 | import { VideoFilter } from '../../../../../shared/models/videos/video-query.type' |
11 | import { FeedFormat } from '../../../../../shared/models/feeds/feed-format.enum' | ||
11 | import { VideoRateType } from '../../../../../shared/models/videos/video-rate.type' | 12 | import { VideoRateType } from '../../../../../shared/models/videos/video-rate.type' |
12 | import { VideoUpdate } from '../../../../../shared/models/videos/video-update.model' | 13 | import { VideoUpdate } from '../../../../../shared/models/videos/video-update.model' |
13 | import { environment } from '../../../environments/environment' | 14 | import { environment } from '../../../environments/environment' |
@@ -24,6 +25,7 @@ import { objectToFormData } from '@app/shared/misc/utils' | |||
24 | @Injectable() | 25 | @Injectable() |
25 | export class VideoService { | 26 | export class VideoService { |
26 | private static BASE_VIDEO_URL = environment.apiUrl + '/api/v1/videos/' | 27 | private static BASE_VIDEO_URL = environment.apiUrl + '/api/v1/videos/' |
28 | private static BASE_FEEDS_URL = environment.apiUrl + '/feeds/videos.' | ||
27 | 29 | ||
28 | constructor ( | 30 | constructor ( |
29 | private authHttp: HttpClient, | 31 | private authHttp: HttpClient, |
@@ -115,6 +117,47 @@ export class VideoService { | |||
115 | .catch((res) => this.restExtractor.handleError(res)) | 117 | .catch((res) => this.restExtractor.handleError(res)) |
116 | } | 118 | } |
117 | 119 | ||
120 | baseFeed () { | ||
121 | const feed = {} | ||
122 | |||
123 | for (let item in FeedFormat) { | ||
124 | feed[FeedFormat[item]] = VideoService.BASE_FEEDS_URL + item.toLowerCase() | ||
125 | } | ||
126 | |||
127 | return feed | ||
128 | } | ||
129 | |||
130 | getFeed ( | ||
131 | filter?: VideoFilter | ||
132 | ) { | ||
133 | let params = this.restService.addRestGetParams(new HttpParams()) | ||
134 | const feed = this.baseFeed() | ||
135 | |||
136 | if (filter) { | ||
137 | params = params.set('filter', filter) | ||
138 | } | ||
139 | for (let item in feed) { | ||
140 | feed[item] = feed[item] + ((params.toString().length === 0) ? '' : '?') + params.toString() | ||
141 | } | ||
142 | |||
143 | return feed | ||
144 | } | ||
145 | |||
146 | getAccountFeed ( | ||
147 | accountId: number, | ||
148 | host?: string | ||
149 | ) { | ||
150 | let params = this.restService.addRestGetParams(new HttpParams()) | ||
151 | const feed = this.baseFeed() | ||
152 | |||
153 | params = params.set('accountId', accountId.toString()) | ||
154 | for (let item in feed) { | ||
155 | feed[item] = feed[item] + ((params.toString().length === 0) ? '' : '?') + params.toString() | ||
156 | } | ||
157 | |||
158 | return feed | ||
159 | } | ||
160 | |||
118 | searchVideos ( | 161 | searchVideos ( |
119 | search: string, | 162 | search: string, |
120 | videoPagination: ComponentPagination, | 163 | videoPagination: ComponentPagination, |