diff options
Diffstat (limited to 'server/controllers')
-rw-r--r-- | server/controllers/api/users/my-history.ts | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/server/controllers/api/users/my-history.ts b/server/controllers/api/users/my-history.ts index 2fcb25acf..bc5b40f59 100644 --- a/server/controllers/api/users/my-history.ts +++ b/server/controllers/api/users/my-history.ts | |||
@@ -9,7 +9,8 @@ import { | |||
9 | paginationValidator, | 9 | paginationValidator, |
10 | setDefaultPagination, | 10 | setDefaultPagination, |
11 | userHistoryListValidator, | 11 | userHistoryListValidator, |
12 | userHistoryRemoveValidator | 12 | userHistoryRemoveAllValidator, |
13 | userHistoryRemoveElementValidator | ||
13 | } from '../../../middlewares' | 14 | } from '../../../middlewares' |
14 | import { UserVideoHistoryModel } from '../../../models/user/user-video-history' | 15 | import { UserVideoHistoryModel } from '../../../models/user/user-video-history' |
15 | 16 | ||
@@ -23,10 +24,16 @@ myVideosHistoryRouter.get('/me/history/videos', | |||
23 | asyncMiddleware(listMyVideosHistory) | 24 | asyncMiddleware(listMyVideosHistory) |
24 | ) | 25 | ) |
25 | 26 | ||
27 | myVideosHistoryRouter.delete('/me/history/videos/:videoId', | ||
28 | authenticate, | ||
29 | userHistoryRemoveElementValidator, | ||
30 | asyncMiddleware(removeUserHistoryElement) | ||
31 | ) | ||
32 | |||
26 | myVideosHistoryRouter.post('/me/history/videos/remove', | 33 | myVideosHistoryRouter.post('/me/history/videos/remove', |
27 | authenticate, | 34 | authenticate, |
28 | userHistoryRemoveValidator, | 35 | userHistoryRemoveAllValidator, |
29 | asyncRetryTransactionMiddleware(removeUserHistory) | 36 | asyncRetryTransactionMiddleware(removeAllUserHistory) |
30 | ) | 37 | ) |
31 | 38 | ||
32 | // --------------------------------------------------------------------------- | 39 | // --------------------------------------------------------------------------- |
@@ -45,7 +52,15 @@ async function listMyVideosHistory (req: express.Request, res: express.Response) | |||
45 | return res.json(getFormattedObjects(resultList.data, resultList.total)) | 52 | return res.json(getFormattedObjects(resultList.data, resultList.total)) |
46 | } | 53 | } |
47 | 54 | ||
48 | async function removeUserHistory (req: express.Request, res: express.Response) { | 55 | async function removeUserHistoryElement (req: express.Request, res: express.Response) { |
56 | const user = res.locals.oauth.token.User | ||
57 | |||
58 | await UserVideoHistoryModel.removeUserHistoryElement(user, parseInt(req.params.videoId + '')) | ||
59 | |||
60 | return res.sendStatus(HttpStatusCode.NO_CONTENT_204) | ||
61 | } | ||
62 | |||
63 | async function removeAllUserHistory (req: express.Request, res: express.Response) { | ||
49 | const user = res.locals.oauth.token.User | 64 | const user = res.locals.oauth.token.User |
50 | const beforeDate = req.body.beforeDate || null | 65 | const beforeDate = req.body.beforeDate || null |
51 | 66 | ||