kaizen-login
Version:
A default login using express and mongoose
43 lines (36 loc) • 1.52 kB
JavaScript
var express = require('express');
var bodyParser = require('body-parser');
var UserController = require('../controller/userApi');
var UserApiApplication = function()
{
this.application = express();
}
UserApiApplication.prototype.getApplication = function()
{
this.setDependencyCollection();
this.application.on('mount', this.handleMount.bind(this));
return this.application;
}
UserApiApplication.prototype.setDependencyCollection = function()
{
this.application.set('view engine', 'ejs');
this.application.use(bodyParser.urlencoded({extended: true}));
}
UserApiApplication.prototype.handleMount = function handleMount(parent)
{
console.log('Login api mounted on ' + this.application.mountpath);
this.userApiController = this.instantiateUserController(this.application.mountpath);
this.setRouteCollection();
}
UserApiApplication.prototype.setRouteCollection = function()
{
this.application.get('/', this.userApiController.getLoginPage.bind(this.userApiController));
this.application.get('/new', this.userApiController.getCreatePage.bind(this.userApiController));
this.application.post('/new', this.userApiController.create.bind(this.userApiController));
this.application.post('/', this.userApiController.login.bind(this.userApiController));
}
UserApiApplication.prototype.instantiateUserController = function(mountPath)
{
return new UserController(this.application.mountpath);
}
module.exports = UserApiApplication;