diff --git a/lib/www/server/api/index.js b/lib/www/server/api/index.js index c4e9348..baf9ef3 100644 --- a/lib/www/server/api/index.js +++ b/lib/www/server/api/index.js @@ -196,6 +196,21 @@ app.map({ delete: [ mw.auth.access.write, mw.info.delete ] } }, + '/queue/outgoing/': { + 'asaqc': { + get: [ mw.queue.asaqc.get ], + post: [ mw.auth.access.write, mw.queue.asaqc.post ], + '/project/:project': { + get: [ mw.queue.asaqc.get ], + '/sequence/:sequence': { + get: [ mw.queue.asaqc.get ], + } + }, + '/:id': { + delete: [ mw.auth.access.write, mw.queue.asaqc.delete ] + } + } + }, '/rss/': { get: [ mw.rss.get ] } diff --git a/lib/www/server/api/middleware/index.js b/lib/www/server/api/middleware/index.js index 19fc302..926309d 100644 --- a/lib/www/server/api/middleware/index.js +++ b/lib/www/server/api/middleware/index.js @@ -9,6 +9,7 @@ module.exports = { gis: require('./gis'), label: require('./label'), navdata: require('./navdata'), + queue: require('./queue'), configuration: require('./configuration'), info: require('./info'), meta: require('./meta'), diff --git a/lib/www/server/api/middleware/queue/asaqc/delete.js b/lib/www/server/api/middleware/queue/asaqc/delete.js new file mode 100644 index 0000000..7b980fb --- /dev/null +++ b/lib/www/server/api/middleware/queue/asaqc/delete.js @@ -0,0 +1,14 @@ + +const { queue } = require('../../../../lib/db'); + +module.exports = async function (req, res, next) { + + try { + await queue.delete('asaqc', req.params.id); + res.status(204).send(); + next(); + } catch (err) { + next(err); + } + +}; diff --git a/lib/www/server/api/middleware/queue/asaqc/get.js b/lib/www/server/api/middleware/queue/asaqc/get.js new file mode 100644 index 0000000..f6ba4d9 --- /dev/null +++ b/lib/www/server/api/middleware/queue/asaqc/get.js @@ -0,0 +1,13 @@ + +const { queue } = require('../../../../lib/db'); + +module.exports = async function (req, res, next) { + + try { + res.status(200).send(await queue.get('asaqc', {...req.query, ...req.params})); + next(); + } catch (err) { + next(err); + } + +}; diff --git a/lib/www/server/api/middleware/queue/asaqc/index.js b/lib/www/server/api/middleware/queue/asaqc/index.js new file mode 100644 index 0000000..02c2718 --- /dev/null +++ b/lib/www/server/api/middleware/queue/asaqc/index.js @@ -0,0 +1,5 @@ +module.exports = { + get: require('./get'), + post: require('./post'), + delete: require('./delete') +}; diff --git a/lib/www/server/api/middleware/queue/asaqc/post.js b/lib/www/server/api/middleware/queue/asaqc/post.js new file mode 100644 index 0000000..eb8fed5 --- /dev/null +++ b/lib/www/server/api/middleware/queue/asaqc/post.js @@ -0,0 +1,16 @@ + +const { queue } = require('../../../../lib/db'); + +module.exports = async function (req, res, next) { + + try { + const payload = req.body; + + await queue.post('asaqc', payload); + res.status(202).send(); + next(); + } catch (err) { + next(err); + } + +}; diff --git a/lib/www/server/api/middleware/queue/index.js b/lib/www/server/api/middleware/queue/index.js new file mode 100644 index 0000000..8519c81 --- /dev/null +++ b/lib/www/server/api/middleware/queue/index.js @@ -0,0 +1,3 @@ +module.exports = { + asaqc: require('./asaqc') +};