/**
 * sub app cart
 * @author: htoooth<ht.anglenx@gmail.com>
 * @date: 2016/10/19
 */

'use strict';

var express = require('express'),
    path = require('path'),
    hbsEvent = require('../../config/hbsevent');

var app = express();

// set view engin
var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root

app.disable('x-powered-by');

app.on('mount', function(parent) {
    delete parent.locals.settings; // 不继承父 App 的设置
    Object.assign(app.locals, parent.locals);
});

app.use(global.yoho.hbs({
    extname: '.hbs',
    defaultLayout: 'layout',
    layoutsDir: doraemon,
    partialsDir: [path.join(__dirname, 'views/partial'), path.join(__dirname, '../../mix')],
    views: path.join(__dirname, 'views/action'),
    helpers: Object.assign(require('./utils/helper'), global.yoho.helpers),
    cb: hbsEvent.cb
}));

// router
app.use(require('./router'));

module.exports = app;