File: //matrixSwot/backend/apis/index.js
/**
* @author Cristofer Marinho
* @date 2019-05
* @name APIS // Responsible service to external connectors with SONNE Applications
* @method POST||GET||PUT||DELETE
*/
const express = require('express')
const router = express.Router()
const formidable = require('express-formidable')
router.use(formidable({
uploadDir: 'public',
multiples: true
}))
router.post('/*', async (req, res, next) => {
var reqURL = req.originalUrl.split('/')
try {
var reqMod = await require(`./${reqURL[1]}/post/${reqURL[2]}.js`)
var response = await reqMod.request(req, res)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
res.send(response.message)
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
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)
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
res.sendStatus(404, { message: 'MODULE REQ NOT FOUND' })
});
router.get('/*', async function (req, res, next) {
var reqURL = req.originalUrl.split('/')
try {
var reqMod = await require(`./${reqURL[1]}/get/${reqURL[2]}`)
var response = await reqMod.request(req, res)
if (response.code) {
res.status(response.code)
} else {
res.status(200)
}
res.send(response.message)
return;
} catch (err) {
console.log(`WS ERROR:${err}`)
}
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('/')
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)
}
return
} catch (err) {
console.log(`WS ERROR:${err}`)
}
res.status(404)
res.send({ message: 'MODULE REQ NOT FOUND' })
});
module.exports = router;