mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-23 10:10:20 -06:00
add some backend code
This commit is contained in:
@@ -234,6 +234,41 @@ const resetPasswordController = async (req, res, next) => {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
const deleteUserController = async (req, res, next) => {
|
||||
try {
|
||||
// Validate user ID
|
||||
await editUserParamValidation.validateAsync(req.params);
|
||||
|
||||
// Check if the user exists
|
||||
const user = await req.db.getUserById(req.params.userId);
|
||||
if (!user) {
|
||||
throw new Error(errorMessages.AUTH_USER_NOT_FOUND);
|
||||
}
|
||||
|
||||
// Delete the user
|
||||
await req.db.deleteUser(req.params.userId);
|
||||
|
||||
return res.status(200).json({
|
||||
success: true,
|
||||
msg: successMessages.AUTH_DELETE_USER,
|
||||
});
|
||||
} catch (error) {
|
||||
error.service = SERVICE_NAME;
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
registerController,
|
||||
loginController,
|
||||
userEditController,
|
||||
recoveryRequestController,
|
||||
validateRecoveryTokenController,
|
||||
resetPasswordController,
|
||||
deleteUserController,
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
registerController,
|
||||
loginController,
|
||||
|
||||
@@ -94,24 +94,20 @@ const updateUser = async (req, res) => {
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Request a recovery token
|
||||
* Delete a user by ID
|
||||
* @async
|
||||
* @param {Express.Request} req
|
||||
* @param {Express.Response} res
|
||||
* @returns {Promise<UserModel>}
|
||||
* @throws {Error}
|
||||
*/
|
||||
const requestRecoveryToken = async (req, res) => {
|
||||
const deleteUser = async (req, res) => {
|
||||
const userId = req.params.userId;
|
||||
try {
|
||||
// Delete any existing tokens
|
||||
await RecoveryToken.deleteMany({ email: req.body.email });
|
||||
let recoveryToken = new RecoveryToken({
|
||||
email: req.body.email,
|
||||
token: crypto.randomBytes(32).toString("hex"),
|
||||
});
|
||||
await recoveryToken.save();
|
||||
return recoveryToken;
|
||||
const deletedUser = await UserModel.findByIdAndDelete(userId);
|
||||
return deletedUser;
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user