feat(auth): implement password reset functionality
- Added new endpoints for requesting and resetting passwords in the authController. - Updated User model to include resetToken and resetTokenExpires fields for managing password reset requests. - Enhanced emailService to send password reset emails with secure links. - Updated frontend routes and views to support password reset flow, including new ForgotPassword and ResetPassword components. - Improved internationalization files with new translation keys for password reset messages across multiple languages.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { register, activateUser, login, logout } from '../services/authService.js';
|
||||
import { register, activateUser, login, logout, requestPasswordReset, resetPassword } from '../services/authService.js';
|
||||
|
||||
const registerUser = async (req, res, next) => {
|
||||
try {
|
||||
@@ -45,4 +45,24 @@ const logoutUser = async (req, res, next) => {
|
||||
}
|
||||
};
|
||||
|
||||
export { registerUser, activate, loginUser, logoutUser };
|
||||
const forgotPassword = async (req, res, next) => {
|
||||
try {
|
||||
const { email } = req.body;
|
||||
const result = await requestPasswordReset(email);
|
||||
res.status(200).json(result);
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
const resetUserPassword = async (req, res, next) => {
|
||||
try {
|
||||
const { token, password } = req.body;
|
||||
const result = await resetPassword(token, password);
|
||||
res.status(200).json(result);
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
};
|
||||
|
||||
export { registerUser, activate, loginUser, logoutUser, forgotPassword, resetUserPassword };
|
||||
|
||||
Reference in New Issue
Block a user