shack/src/web/users.js

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,
};