let express = require('express'); let router = express.Router(); let connection = require("../../utils/mongoDB") var utils = require('../../utils/utils'); var stats = require('../../utils/stats'); var log = require('../../utils/log'); var constants = require('../../utils/constants'); var allow = ['general','holiday','shift','service','job','specialist','room']; router.get('/:collection',async function (req, res,next) { var cmd = req.params.collection; var checkStart = start(req,cmd); if(checkStart.err) { var result = checkStart.err; end(req,"Unknow"); }else { var collection = req.params.collection; var query = Object.assign(req.params, req.query); var filter = await utils.getQueryFilter(query.filter); var result = await connection.reqMongo(req,req.method,filter,collection) end(req,cmd); } res.status(200).json(result); next(); }); router.post('/:collection',async function (req, res,next) { var cmd = req.params.collection; var checkStart = start(req,cmd); if(checkStart.err) { var result = checkStart.err; end(req,"Unknow"); }else { var collection = req.params.collection; var query = req.body; var result = await connection.reqMongo(req,req.method,query,collection) end(req,cmd); } res.status(200).json(result); next(); }); // router.put('/:collection',async function (req, res) { // var query = Object.assign(req.params, req.query); // var result = await connection.reqMongo(req, query) // res.status(200).json(result); // }); // router.delete('/:collection',async function (req, res) { // var query = Object.assign(req.params, req.query); // var result = await connection.reqMongo(req, query) // res.status(200).json(result); // }); function start(req,cmd) { log.startlog(req,cmd,'session','identity'); if(allow.indexOf(cmd) != -1) { stats.receiveRequest(req.method,cmd); log.detailRequestFE(req); return {}; }else { stats.receiveUnknow(); log.detailRequestFE(req); return {err:constants.RESPONSERESULT.UNKNOW}; } }; function end(req,cmd) { stats.sendResponse(req.method,cmd); log.detailResponseFE(req); }; module.exports = router;