const express = require("express");
let rptTplRouter = express.Router();
const reportTplController = require("./../controllers/rpt_tpl_controller");
const reportCfgController = require("./../controllers/rpt_cfg_controller");

module.exports = function (app) {
    app.get('/rpt_tpl',  function(req, res) {
        if (!req.session.managerData.username) {
            res.redirect('/login');
        }
        else {
            res.render('maintain/report/rpt_tpl_main.html',
                {userAccount: req.session.managerData.username,
                    userID: req.session.managerData.userID});
        }
    });

    rptTplRouter.post('/createTreeRootNode', reportTplController.createTreeRootNode);
    rptTplRouter.post('/updateTreeRootNode', reportTplController.updateTreeRootNode);
    rptTplRouter.post('/updateTopNodeName', reportTplController.updateTopNodeName);
    rptTplRouter.post('/updateSubLevelOneNode', reportTplController.updateSubLevelOneNode);
    rptTplRouter.post('/removeTreeRootNode', reportTplController.removeTreeRootNode);
    rptTplRouter.post('/getRptTplTree', reportTplController.getRptTplTree);
    rptTplRouter.post('/getTplTreeByCompilation', reportTplController.getTplTreeByCompilation);
    rptTplRouter.post('/getNewNodeID', reportTplController.getNewNodeID);
    rptTplRouter.post('/updateRptTplNodes', reportTplController.updateTreeNodes);
    rptTplRouter.post('/deleteRptTplNodes', reportTplController.deleteRptTplNodes);
    rptTplRouter.post('/createDftRptTpl', reportTplController.createDftRptTpl);
    rptTplRouter.post('/getRefRptTpl', reportTplController.getRefRptTpl);
    rptTplRouter.post('/updateRptTpl', reportTplController.updateRptTpl);
    rptTplRouter.post('/copyRptTpl', reportTplController.copyRptTpl);
    rptTplRouter.post('/getCompilationList', reportTplController.getCompilationList);
    rptTplRouter.post('/getCustomizeCfg', reportTplController.getCustomerCfg);
    rptTplRouter.post('/saveCustomerCfg', reportTplController.saveCustomerCfg);

    rptTplRouter.post('/getUserRptCfg', reportCfgController.getReportUserCfg);
    rptTplRouter.post('/getMappingFields', reportCfgController.getAllMappingFields);
    app.use("/report_tpl_api", rptTplRouter);
};