Separated public recent matches and user recent matches endpoints.
This commit is contained in:
parent
92289c87b3
commit
2e8ba9c5b1
@ -27,17 +27,8 @@ MatchController.get("/search/:sport", needDatabase, async (req, res) => {
|
||||
|
||||
MatchController.get("/recent/:limit?", needDatabase, async (req, res) => {
|
||||
try {
|
||||
let user = null;
|
||||
if (req.session.userId) {
|
||||
user = await userModel.findById(req.session.userId);
|
||||
}
|
||||
let limit = parseInt(req.params.limit);
|
||||
if (!req.params.limit) limit = 10;
|
||||
if (isNaN(limit)) {
|
||||
console.log(typeof (limit));
|
||||
res.status(400).send("Limit parameter is not a number.");
|
||||
return;
|
||||
}
|
||||
if (isNaN(limit)) {
|
||||
res.status(400).send("Limit parameter not a number.");
|
||||
return;
|
||||
@ -46,18 +37,29 @@ MatchController.get("/recent/:limit?", needDatabase, async (req, res) => {
|
||||
res.status(400).send("Limit greater than maximum limit of 50.");
|
||||
return;
|
||||
}
|
||||
let recent = null;
|
||||
if (user) {
|
||||
recent = matchModel.find({ creator: user._id });
|
||||
} else {
|
||||
recent = matchModel.find().where("publicity").gte(2);
|
||||
}
|
||||
let recent = matchModel.find().where("publicity").gte(2);
|
||||
recent = await recent.sort({ createDate: -1 }).limit(limit).populate(["sport", "participants"]);
|
||||
res.status(200).send({ recent: recent });
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).send("Internal server error.");
|
||||
// TODO: Check and improve error handling.
|
||||
}
|
||||
});
|
||||
|
||||
MatchController.get("/recent/user/:limit", needDatabase, requireAuthenticated, async (req, res) => {
|
||||
try {
|
||||
let user = req.user;
|
||||
let limit = parseInt(req.params.limit);
|
||||
if (!req.params.limit) limit = 10;
|
||||
if (isNaN(limit)) {
|
||||
res.status(400).send("Limit parameter not a number.");
|
||||
return;
|
||||
}
|
||||
let recent = await matchModel.find({ creator: user._id }).sort({ createDate: -1 }).limit(limit).populate(["sport", "participants"]);
|
||||
res.status(200).send({ recent: recent });
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).send("Internal server error.");
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user