refactor(user): simplify local middleware

This commit is contained in:
cha0s 2022-03-03 12:16:28 -06:00
parent 4e5650b030
commit fa7910c4d3

View File

@ -7,47 +7,22 @@ import LocalStrategy from 'passport-local';
export default {
[Hooks]: {
'@flecks/core/config': () => ({
successRedirect: '/',
failureRedirect: '/',
successRedirect: '/',
}),
'@flecks/db/server/models.decorate': (
Flecks.decorate(require.context('./models/decorators', false, /\.js$/))
),
'@flecks/http/routes': ({
config: {
'@flecks/user/local/server': {
failureRedirect,
successRedirect,
'@flecks/http/routes': (flecks) => {
const {failureRedirect, successRedirect} = flecks.get('@flecks/user/local/server');
return [
{
method: 'post',
path: '/auth/local',
middleware: passport.authenticate('local', {failureRedirect, successRedirect}),
},
},
}) => [
{
method: 'post',
path: '/auth/local',
middleware: (req, res, next) => {
passport.authenticate(
'local',
(error, user) => {
if (error) {
next(error);
return;
}
if (!user) {
res.redirect(failureRedirect);
return;
}
req.logIn(user, (error) => {
if (error) {
next(error);
return;
}
res.redirect(successRedirect);
});
},
)(req, res, next);
},
},
],
];
},
'@flecks/repl/commands': (flecks) => {
const {User} = flecks.get('$flecks/db.models');
return {