Reputation: 400
Currently my routes file is setup like this:
const logoutHelper = function (request, response) {
if (request.session) {
console.log("User '" + request.session.username + "' logged out.");
request.session.destroy(function (err) {
if (err) {
return next(err);
} else {
return response.redirect('/');
}
});
}
}
// Logout user and delete the session object
app.get('/logout', logoutHelper);
How can I move the logoutHelper functions to another file in the same directory? I want to split the post and get routes into different files because my original routes.js grew too big.
Upvotes: 0
Views: 44
Reputation: 870
In your new file:
const logoutHelper = function (request, response) {
if (request.session) {
console.log("User '" + request.session.username + "' logged out.");
request.session.destroy(function (err) {
if (err) {
return next(err);
} else {
return response.redirect('/');
}
});
}
}
module.exports = {
logoutHelper: logoutHelper
};
In your route file:
const Helpers = require('<helper file>');
// Logout user and delete the session object
app.get('/logout', Helpers.logoutHelper);
Something else to note, you are using next
but don't have it defined in your callback function. You probably need to add it as the third parameter of the logoutHelper function.
Also I'm assuming you're not using es6-you can probably clean up that export object if you are.
Upvotes: 2