+ function getVideosFunctions (token?: string, query = {}) {
+ return getMyUserInformation(server.url, server.accessToken)
+ .then(res => {
+ const user: User = res.body
+ const videoChannelName = user.videoChannels[0].name
+ const accountName = user.account.name + '@' + user.account.host
+ const hasQuery = Object.keys(query).length !== 0
+ let promises: Promise<any>[]
+
+ if (token) {
+ promises = [
+ getVideosListWithToken(server.url, token, query),
+ searchVideoWithToken(server.url, 'n', token, query),
+ getAccountVideos(server.url, token, accountName, 0, 5, undefined, query),
+ getVideoChannelVideos(server.url, token, videoChannelName, 0, 5, undefined, query)
+ ]
+
+ // Overviews do not support video filters
+ if (!hasQuery) {
+ promises.push(getVideosOverviewWithToken(server.url, 1, token).then(res => createOverviewRes(res)))
+ }
+
+ return Promise.all(promises)
+ }
+
+ promises = [
+ getVideosList(server.url),
+ searchVideo(server.url, 'n'),
+ getAccountVideos(server.url, undefined, accountName, 0, 5),
+ getVideoChannelVideos(server.url, undefined, videoChannelName, 0, 5)
+ ]
+
+ // Overviews do not support video filters
+ if (!hasQuery) {
+ promises.push(getVideosOverview(server.url, 1).then(res => createOverviewRes(res)))
+ }
+
+ return Promise.all(promises)
+ })
+ }
+