File: //matrixSwot/backend/apis/index.js.save
*
* VALIDATE REQ ROUTE AND EXEC.
*
*************** ATTENTION ****************
* TO CREATE NEW MODULE, USE THIS STRUCTURE
*
* EX: /MODULE/METHOD/ACTION
* /news/post/update.js
*
* ACTION MODEL:
* DONT CHANGE CONST "REQUEST"
* const request = async (auth, dataReq) => {
* return { success: false, err: 'INVALID RSS URL' } //Em caso de erro
* return { success: true, json: 'RETORNO JSON' } //RETORNO
* }
*
* module.exports = { request };
*/
const express = require('express');
const router = express.Router();
const url = require("url");
const multer = require("multer");
var auth;
router.post('/*', multer().any(), async function (req, res, next) {
var reqURL = req.originalUrl.split('/')
return false
try {
var reqMod = await require(`./${reqURL[1]}/post/${reqURL[2]}.js`)
var response = await reqMod.request(auth, req)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
res.send(response.message)
auth = null
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
//auth = null
res.status(404)
res.send({ message: 'MODULE REQ NOT FOUND' })
});
router.put('/*', async function (req, res, next) {
var reqURL = req.originalUrl.split('/')
auth = req.decoded
try {
var reqMod = await require(`./${reqURL[1]}/put/${reqURL[2]}`)
var response = await reqMod.request(auth, req.body)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
res.send(response.message)
auth = null
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
auth = null
res.sendStatus(404, { message: 'MODULE REQ NOT FOUND' })
});
router.get('/*', async function (req, res, next) {
var reqURL = req.originalUrl.split('/')
auth = req.decoded
try {
var reqMod = await require(`./${reqURL[1]}/get/${reqURL[2]}`)
var response = await reqMod.request(auth, req.query)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
res.send(response.message)
auth = null
return;
} catch (err) {
console.log(`WS ERROR:${err}`)
}
auth = null
res.status(404)
res.send({ message: `MODULE REQ NOT FOUND ./${reqURL[1]}/get/${reqURL[2]}` })
});
router.delete('/*', async function (req, res, next) {
var reqURL = req.originalUrl.split('/')
auth = req.decoded
try {
var reqMod = await require(`./${reqURL[1]}/delete/${reqURL[2]}`)
var response = await reqMod.request(auth, req.query, reqURL[3])
res.send(response.message)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
auth = null
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
auth = null
res.status(404)
res.send({ message: 'MODULE REQ NOT FOUND' })
});
module.exports = router;