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