diff options
author | Chocobozzz <me@florianbigard.com> | 2019-05-29 15:09:38 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-05-29 15:09:38 +0200 |
commit | 91b6631984fa7097bd60aa013d1cf041d7b95f58 (patch) | |
tree | 717cc94c3cba7b02ba404f2536ebc76118adf504 /server/controllers | |
parent | b247a132709eb212fef4f77c4912dc0ec108f36b (diff) | |
download | PeerTube-91b6631984fa7097bd60aa013d1cf041d7b95f58.tar.gz PeerTube-91b6631984fa7097bd60aa013d1cf041d7b95f58.tar.zst PeerTube-91b6631984fa7097bd60aa013d1cf041d7b95f58.zip |
Add pagination to account video channels endpoint
Diffstat (limited to 'server/controllers')
-rw-r--r-- | server/controllers/api/accounts.ts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/server/controllers/api/accounts.ts b/server/controllers/api/accounts.ts index 8d4db1e75..9b3489120 100644 --- a/server/controllers/api/accounts.ts +++ b/server/controllers/api/accounts.ts | |||
@@ -16,7 +16,8 @@ import { | |||
16 | accountNameWithHostGetValidator, | 16 | accountNameWithHostGetValidator, |
17 | accountsSortValidator, | 17 | accountsSortValidator, |
18 | ensureAuthUserOwnsAccountValidator, | 18 | ensureAuthUserOwnsAccountValidator, |
19 | videosSortValidator | 19 | videosSortValidator, |
20 | videoChannelsSortValidator | ||
20 | } from '../../middlewares/validators' | 21 | } from '../../middlewares/validators' |
21 | import { AccountModel } from '../../models/account/account' | 22 | import { AccountModel } from '../../models/account/account' |
22 | import { AccountVideoRateModel } from '../../models/account/account-video-rate' | 23 | import { AccountVideoRateModel } from '../../models/account/account-video-rate' |
@@ -56,6 +57,10 @@ accountsRouter.get('/:accountName/videos', | |||
56 | 57 | ||
57 | accountsRouter.get('/:accountName/video-channels', | 58 | accountsRouter.get('/:accountName/video-channels', |
58 | asyncMiddleware(accountNameWithHostGetValidator), | 59 | asyncMiddleware(accountNameWithHostGetValidator), |
60 | paginationValidator, | ||
61 | videoChannelsSortValidator, | ||
62 | setDefaultSort, | ||
63 | setDefaultPagination, | ||
59 | asyncMiddleware(listAccountChannels) | 64 | asyncMiddleware(listAccountChannels) |
60 | ) | 65 | ) |
61 | 66 | ||
@@ -108,7 +113,14 @@ async function listAccounts (req: express.Request, res: express.Response) { | |||
108 | } | 113 | } |
109 | 114 | ||
110 | async function listAccountChannels (req: express.Request, res: express.Response) { | 115 | async function listAccountChannels (req: express.Request, res: express.Response) { |
111 | const resultList = await VideoChannelModel.listByAccount(res.locals.account.id) | 116 | const options = { |
117 | accountId: res.locals.account.id, | ||
118 | start: req.query.start, | ||
119 | count: req.query.count, | ||
120 | sort: req.query.sort, | ||
121 | } | ||
122 | |||
123 | const resultList = await VideoChannelModel.listByAccount(options) | ||
112 | 124 | ||
113 | return res.json(getFormattedObjects(resultList.data, resultList.total)) | 125 | return res.json(getFormattedObjects(resultList.data, resultList.total)) |
114 | } | 126 | } |