UNPKG

kaizen-login

Version:

A default login using express and mongoose

43 lines (36 loc) 1.52 kB
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;