mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-23 14:23:21 +00:00
Compare commits
15 Commits
getting-ri
...
delete-rou
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bbff081ed | ||
|
|
c3281038bd | ||
|
|
cc7e2ebc40 | ||
|
|
22be3916b3 | ||
|
|
49831f4a17 | ||
|
|
19d6ef23a5 | ||
|
|
3da6822017 | ||
|
|
cd676d2509 | ||
|
|
7c100e608d | ||
|
|
a1b8a85583 | ||
|
|
d253023134 | ||
|
|
abee6b98c0 | ||
|
|
e0d4eafe17 | ||
|
|
2d3ebfd6bf | ||
|
|
2d2f1dc84c |
@@ -36,7 +36,6 @@ import bodyParser from 'body-parser';
|
||||
import cookieParser from 'cookie-parser';
|
||||
import forceSSL from './forcessl.mw.js';
|
||||
|
||||
|
||||
const sanitizeBrew = (brew, accessType)=>{
|
||||
brew._id = undefined;
|
||||
brew.__v = undefined;
|
||||
@@ -373,6 +372,34 @@ app.put('/api/user/rename', async (req, res)=>{
|
||||
}
|
||||
});
|
||||
|
||||
//Delete brews based on author
|
||||
app.delete('/api/user/delete', async (req, res)=>{
|
||||
const { username } = req.body;
|
||||
|
||||
const ownAccount = req.account && (req.account.username == username);
|
||||
if(!ownAccount) return res.status(403).json({ error: 'Must be logged in to delete your account' });
|
||||
|
||||
try {
|
||||
const brews = await HomebrewModel.getByUser(username, true, ['_id', 'googleId', 'editId', 'authors']);
|
||||
|
||||
const deletePromises = brews.map((brew)=>{
|
||||
req.brew = brew;
|
||||
return new Promise((resolve, reject)=>{
|
||||
api.deleteBrew(req, res, (err)=>err ? reject(err) : resolve());
|
||||
});
|
||||
});
|
||||
|
||||
await Promise.all(deletePromises);
|
||||
|
||||
return res.json({ success: true, message: `All brews for ${username} have been deleted.` });
|
||||
} catch (error) {
|
||||
console.error('Error deleting brews:', error);
|
||||
if(!res.headersSent) {
|
||||
return res.status(500).json({ error: 'Failed to delete the brews.' });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//Edit Page
|
||||
app.get('/edit/:id', asyncHandler(getBrew('edit')), asyncHandler(async(req, res, next)=>{
|
||||
req.brew = req.brew.toObject ? req.brew.toObject() : req.brew;
|
||||
|
||||
Reference in New Issue
Block a user