var env = process.env.NODE_ENV || 'development'; var responseMsg = require('../modules/helper/responseMsg.js'); var log = require('../modules/helper/log.js'); var constants = require('../modules/helper/constants.js'); var cfg = require('../config/config.js').get(env); var load = require('express-load'); module.exports = function (app) { app.all('/*', function (req, res,next) { // console.log(req.params) // console.log(req.query) // console.log(req.url) var splitPath = req._parsedUrl.pathname.split("/"); //0 = ip host //1 = 'cmf' //2 = 'v1' var objectData = { method:req.method, req:req, res:res, next:next, splitPath:splitPath, pathname:req._parsedUrl.pathname }; switch (splitPath[3]) { case "customers": if(splitPath[splitPath.length-1] == "membercards") { doMembercards(objectData); } else { objectData.modules = app.modules.customer; doCustomers(objectData); } break; case "vizcards": doVizcard(objectData); break; default: next(); break; } }); function doVizcard(objectData) { log.log("Route : "+objectData.pathname+" => doVizcard"); objectData.next(); } function doMembercards(objectData) { log.log("Route : "+objectData.pathname+" => doMembercards"); objectData.next(); } function doCustomers(objectData) { log.log("Route : "+objectData.pathname+" => doCustomers"); // "/cmf/v1/customers/:customerId", // "/cmf/v1/customers/:userType/:userData", // "/cmf/v1/customers" var doAction = function(){ if(objectData.method == constants.METHOD.GET) objectData.modules.customerCtrl.customer(objectData.req,objectData.res,objectData.next); else objectData.modules.postCustomerCtrl.postCustomer(objectData.req,objectData.res,objectData.next); }; switch (objectData.splitPath.length) { case 4: doAction(); break; case 5: objectData.req.params = { customerId:objectData.splitPath[4] }; doAction(); break; case 6: objectData.req.params = { userType:objectData.splitPath[4], userData:objectData.splitPath[5], }; doAction(); break; default: objectData.next(); break; } } };