49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import * as userService from '../services/authService.js';
|
|
|
|
export const register = async (req, res) => {
|
|
const { email, username, password, language } = req.body;
|
|
|
|
try {
|
|
const result = await userService.registerUser({ email, username, password, language });
|
|
res.status(201).json(result);
|
|
} catch (error) {
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
};
|
|
|
|
export const login = async (req, res) => {
|
|
const { username, password } = req.body;
|
|
try {
|
|
const result = await userService.loginUser({ username, password });
|
|
res.status(200).json(result);
|
|
} catch (error) {
|
|
if (error.message === 'credentialsinvalid') {
|
|
res.status(404).json({ error: error.message })
|
|
} else {
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
}
|
|
};
|
|
|
|
export const forgotPassword = async (req, res) => {
|
|
const { email } = req.body;
|
|
|
|
try {
|
|
const result = await userService.handleForgotPassword({ email });
|
|
res.status(200).json(result);
|
|
} catch (error) {
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
};
|
|
|
|
export const activateAccount = async (req, res) => {
|
|
const { token } = req.body;
|
|
|
|
try {
|
|
const result = await userService.activateUserAccount({ token });
|
|
res.status(200).json(result);
|
|
} catch (error) {
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
};
|