0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-23 18:43:02 +00:00

Compare commits

...

15 Commits

Author SHA1 Message Date
Trevor Buckner
2bbff081ed Merge branch 'master' into delete-route-for-account-deletion 2025-07-15 16:05:34 -04:00
Víctor Losada Hernández
c3281038bd Merge branch 'master' of https://github.com/naturalcrit/homebrewery into delete-route-for-account-deletion 2025-05-25 15:31:49 +02:00
Víctor Losada Hernández
cc7e2ebc40 Merge branch 'delete-route-for-account-deletion' of https://github.com/naturalcrit/homebrewery into delete-route-for-account-deletion 2025-05-09 18:23:12 +02:00
Víctor Losada Hernández
22be3916b3 remove logs that break tests 2025-05-09 18:23:10 +02:00
Víctor Losada Hernández
49831f4a17 Merge branch 'master' into delete-route-for-account-deletion 2025-05-09 18:16:38 +02:00
Víctor Losada Hernández
19d6ef23a5 Merge branch 'master' into delete-route-for-account-deletion 2025-05-09 12:24:57 +02:00
Víctor Losada Hernández
3da6822017 removing logs 2025-04-19 20:48:23 +02:00
Víctor Losada Hernández
cd676d2509 remove test, fix issues 2025-04-19 20:43:39 +02:00
Víctor Losada Hernández
7c100e608d testing 2025-04-19 20:30:47 +02:00
Víctor Losada Hernández
a1b8a85583 Merge branch 'master' of https://github.com/naturalcrit/homebrewery into delete-route-for-account-deletion 2025-04-19 19:20:36 +02:00
Trevor Buckner
d253023134 Merge branch 'master' into delete-route-for-account-deletion 2025-04-14 14:27:32 -04:00
Víctor Losada Hernández
abee6b98c0 comment for myself 2025-01-11 23:46:15 +01:00
Víctor Losada Hernández
e0d4eafe17 fix deletion 2025-01-11 23:03:26 +01:00
Víctor Losada Hernández
2d3ebfd6bf Merge branch 'master' of https://github.com/naturalcrit/homebrewery into delete-route-for-account-deletion 2025-01-10 11:39:46 +01:00
Víctor Losada Hernández
2d2f1dc84c This initial commit should work 2024-12-26 21:39:35 +01:00

View File

@@ -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;