mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-05 18:52:38 +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)=>{
|
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;
|
if(!brew.lock) return res.json({ status: 'NOT LOCKED', detail: `Brew ID ${req.params.id} is not locked!` });
|
||||||
brew.markModified('lock');
|
|
||||||
|
|
||||||
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}` });
|
return res.json({ status: 'UNLOCKED', detail: `Lock removed from brew ID ${req.params.id}` });
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/api/lock/reviews', mw.adminOnly, async (req, res)=>{
|
router.get('/api/lock/reviews', mw.adminOnly, async (req, res)=>{
|
||||||
try {
|
const countReviewsPipeline = [
|
||||||
const countReviewsPipeline = [
|
{
|
||||||
{
|
|
||||||
$match :
|
$match :
|
||||||
{
|
{
|
||||||
'lock.reviewRequested' : { '$exists': 1 }
|
'lock.reviewRequested' : { '$exists': 1 }
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
const reviewDocuments = await HomebrewModel.aggregate(countReviewsPipeline);
|
const reviewDocuments = await HomebrewModel.aggregate(countReviewsPipeline)
|
||||||
return res.json({
|
.catch((error)=>{
|
||||||
reviewDocuments
|
console.error(error);
|
||||||
|
return res.json({ status: 'ERROR', detail: 'Unable to get review collection', error });
|
||||||
});
|
});
|
||||||
} catch (error) {
|
return res.json({
|
||||||
console.error(error);
|
reviewDocuments
|
||||||
return res.json({ status: 'ERROR', detail: 'Unable to get review collection', error });
|
});
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
router.put('/admin/lock/review/request/:id', async (req, res)=>{
|
router.put('/admin/lock/review/request/:id', async (req, res)=>{
|
||||||
|
|||||||
Reference in New Issue
Block a user