38 lines
740 B
JavaScript
38 lines
740 B
JavaScript
import { login, createUser } from '../users';
|
|
|
|
async function setUser(req, res, next) {
|
|
req.user = req.session.user; // eslint-disable-line no-param-reassign
|
|
|
|
next();
|
|
}
|
|
|
|
async function fetchUserApi(req, res) {
|
|
res.send(req.session.user);
|
|
}
|
|
|
|
async function loginApi(req, res) {
|
|
const user = await login(req.body);
|
|
|
|
req.session.user = user; // eslint-disable-line no-param-reassign
|
|
res.send(user);
|
|
}
|
|
|
|
async function logoutApi(req, res) {
|
|
req.session.destroy();
|
|
res.status(204).send();
|
|
}
|
|
|
|
async function createUserApi(req, res) {
|
|
const user = await createUser(req.body, { ip: req.userIp });
|
|
|
|
res.send(user);
|
|
}
|
|
|
|
export {
|
|
setUser,
|
|
loginApi as login,
|
|
logoutApi as logout,
|
|
fetchUserApi as fetchUser,
|
|
createUserApi as createUser,
|
|
};
|