major updates and test suite

This commit is contained in:
Dave Horton
2019-12-04 21:43:27 -05:00
parent 47bb642854
commit 0f06c44168
35 changed files with 1624 additions and 500 deletions
+10 -2
View File
@@ -19,12 +19,16 @@ function decorate(router, klass, methods, preconditions) {
});
}
function list(router, klass) {
function list(router, klass, preconditions) {
router.get('/', async(req, res) => {
const logger = req.app.locals.logger;
//logger.info(`user: ${JSON.stringify(req.user)}`);
//logger.info(`scope: ${JSON.stringify(req.authInfo.scope)}`);
try {
if ('list' in preconditions) {
assert(typeof preconditions.list === 'function');
await preconditions.list(req);
}
const results = await klass.retrieveAll();
res.status(200).json(results);
} catch (err) {
@@ -63,11 +67,15 @@ function retrieve(router, klass) {
});
}
function update(router, klass) {
function update(router, klass, preconditions) {
router.put('/:sid', async(req, res) => {
const sid = req.params.sid;
const logger = req.app.locals.logger;
try {
if ('update' in preconditions) {
assert(typeof preconditions.update === 'function');
await preconditions.update(req, sid);
}
const rowsAffected = await klass.update(sid, req.body);
if (rowsAffected === 0) {
return res.status(404).end();