mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 20:42:43 +00:00
Refactor /api/lock/reviews
This commit is contained in:
@@ -210,47 +210,48 @@ router.post('/api/lock/:id', mw.adminOnly, async (req, res)=>{
|
||||
});
|
||||
|
||||
router.put('/api/unlock/:id', mw.adminOnly, async (req, res)=>{
|
||||
try {
|
||||
const filter = {
|
||||
shareId : req.params.id
|
||||
};
|
||||
|
||||
const brew = await HomebrewModel.findOne(filter);
|
||||
const filter = {
|
||||
shareId : req.params.id
|
||||
};
|
||||
|
||||
if(!brew.lock) return res.json({ status: 'NOT LOCKED', detail: `Brew ID ${req.params.id} is not locked!` });
|
||||
const brew = await HomebrewModel.findOne(filter);
|
||||
|
||||
brew.lock = undefined;
|
||||
brew.markModified('lock');
|
||||
if(!brew.lock) return res.json({ status: 'NOT LOCKED', detail: `Brew ID ${req.params.id} is not locked!` });
|
||||
|
||||
await brew.save();
|
||||
brew.lock = undefined;
|
||||
brew.markModified('lock');
|
||||
|
||||
await brew.save()
|
||||
.catch((error)=>{
|
||||
console.error(error);
|
||||
return res.json({ status: 'ERROR', detail: `Unable to clear lock on brew ${req.params.id}`, error });
|
||||
});
|
||||
|
||||
// console.log(`Lock removed from brew ID ${brew.shareId} - ${brew.title}`);
|
||||
|
||||
// console.log(`Lock removed from brew ID ${brew.shareId} - ${brew.title}`);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return res.json({ status: 'ERROR', detail: `Unable to clear lock on brew ${req.params.id}`, error });
|
||||
}
|
||||
|
||||
return res.json({ status: 'UNLOCKED', detail: `Lock removed from brew ID ${req.params.id}` });
|
||||
});
|
||||
|
||||
router.get('/api/lock/reviews', mw.adminOnly, async (req, res)=>{
|
||||
try {
|
||||
const countReviewsPipeline = [
|
||||
{
|
||||
const countReviewsPipeline = [
|
||||
{
|
||||
$match :
|
||||
{
|
||||
'lock.reviewRequested' : { '$exists': 1 }
|
||||
},
|
||||
}
|
||||
];
|
||||
const reviewDocuments = await HomebrewModel.aggregate(countReviewsPipeline);
|
||||
return res.json({
|
||||
reviewDocuments
|
||||
}
|
||||
];
|
||||
const reviewDocuments = await HomebrewModel.aggregate(countReviewsPipeline)
|
||||
.catch((error)=>{
|
||||
console.error(error);
|
||||
return res.json({ status: 'ERROR', detail: 'Unable to get review collection', error });
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return res.json({ status: 'ERROR', detail: 'Unable to get review collection', error });
|
||||
}
|
||||
return res.json({
|
||||
reviewDocuments
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
router.put('/admin/lock/review/request/:id', async (req, res)=>{
|
||||
|
||||
Reference in New Issue
Block a user