Componente middleware (oracle-plsql.js) #2
by Plurimedia
JavaScript
const plsql = require('../oracle/oracle-plsql')
const express = require('express')
const router = express.Router()
const authz = require('../middleware/authz')
let getCtx = function (req) {
return { user_id: req.user.id }
}
router.get('/readAll/:pkg', authz(), async (req, res, next) => {
try {
const items = await plsql.readAll(req.params.pkg, req.query, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
router.get('/read/:pkg/:id', authz(), async (req, res, next) => {
try {
const items = await plsql.read(req.params.pkg, req.params.id, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
router.post('/create/:pkg', authz(), async (req, res, next) => {
try {
const items = await plsql.create(req.params.pkg, req.body, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
router.put('/update/:pkg/:id', authz(), async (req, res, next) => {
try {
const items = await plsql.update(req.params.id, req.params.pkg, req.body, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
router.delete('/delete/:pkg/:id', authz(), async (req, res, next) => {
try {
const items = await plsql.delete(req.params.pkg, req.params.id, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
router.post('/method/:pkg/:mth', authz(), async (req, res, next) => {
try {
const items = await plsql.method(req.params.pkg + '.' + req.params.mth, req.body, getCtx(req))
res.send(items)
} catch (err) {
return next(err)
}
})
module.exports = router