From 29673c992a23a55323322381e9c381fc818a037e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Y=C3=BBki=20Vachot?= Date: Fri, 10 Dec 2021 11:09:19 +0100 Subject: [PATCH] Update: User.history --- app-backend/controllers/user.controller.js | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app-backend/controllers/user.controller.js b/app-backend/controllers/user.controller.js index 8f9cc4f..e1cb782 100644 --- a/app-backend/controllers/user.controller.js +++ b/app-backend/controllers/user.controller.js @@ -4,6 +4,7 @@ const {checkLogin, setSessionCookie} = require("../config/sessionJWT.config"); const ObjectId = require('mongoose').Types.ObjectId; const roles = require("../models/objects/role.model"); const User = db.users; +const Video = db.videos; // Authenticate a User exports.auth = (req, res) => { @@ -379,5 +380,25 @@ exports.ad = (req, res) => { // Get History exports.history = (req, res) => { - return sendError(res, 501, -1, "User.history not Implemented", null); + const token = checkLogin(req, res); + if(token && typeof token.id !== 'undefined'){ + const id = token.id; + Video.aggregate([{$match: {userId: id}}, { + $project: { + videoId: true, + source: true, + tags: true, + interest: true, + views: {$size: '$watchedDates'}, + watchedDate: {$last: "$watchedDates"}, + createdAt: true, + updatedAt: true + }}]) + .then(data => { + return sendMessage(res, 12, data, token) + }) + .catch(err => { + return sendError(res,500,100,err.message || "Some error occurred while getting the User history.", token); + }); + } };