mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 12:57:08 +00:00
Add comparison API endpoints
This commit is contained in:
@@ -357,6 +357,26 @@ app.map({
|
|||||||
delete: [ mw.auth.operations, mw.auth.access.write, mw.info.delete ]
|
delete: [ mw.auth.operations, mw.auth.access.write, mw.info.delete ]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 4D comparisons
|
||||||
|
*/
|
||||||
|
|
||||||
|
// FIXME no authentication yet!
|
||||||
|
|
||||||
|
'/comparison/group': {
|
||||||
|
get: [ mw.comparisons.groups.list ],
|
||||||
|
'/:group': {
|
||||||
|
get: [ mw.comparisons.groups.get ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Other endpoints
|
||||||
|
*/
|
||||||
|
|
||||||
'/queue/outgoing/': {
|
'/queue/outgoing/': {
|
||||||
'asaqc': {
|
'asaqc': {
|
||||||
get: [ mw.etag.noSave, mw.queue.asaqc.get ],
|
get: [ mw.etag.noSave, mw.queue.asaqc.get ],
|
||||||
|
|||||||
20
lib/www/server/api/middleware/comparisons/groups/get.js
Normal file
20
lib/www/server/api/middleware/comparisons/groups/get.js
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
const comparisons = require('../../../../lib/comparisons');
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = async function (req, res, next) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
// const data = await comparisons.groups()
|
||||||
|
// if (data?.[req.params.group]) {
|
||||||
|
const data = await comparisons.getGroup(req.params.group);
|
||||||
|
if (data) {
|
||||||
|
res.status(200).send(data);
|
||||||
|
} else {
|
||||||
|
res.status(404).send({message: "Group does not exist"});
|
||||||
|
}
|
||||||
|
return next();
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
module.exports = {
|
||||||
|
list: require('./list'),
|
||||||
|
get: require('./get'),
|
||||||
|
}
|
||||||
18
lib/www/server/api/middleware/comparisons/groups/list.js
Normal file
18
lib/www/server/api/middleware/comparisons/groups/list.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
const comparisons = require('../../../../lib/comparisons');
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = async function (req, res, next) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
const data = await comparisons.groups()
|
||||||
|
if (data) {
|
||||||
|
res.status(200).send(data);
|
||||||
|
} else {
|
||||||
|
res.status(204).end();
|
||||||
|
}
|
||||||
|
return next();
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
3
lib/www/server/api/middleware/comparisons/index.js
Normal file
3
lib/www/server/api/middleware/comparisons/index.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
groups: require('./groups')
|
||||||
|
}
|
||||||
@@ -23,4 +23,5 @@ module.exports = {
|
|||||||
version: require('./version'),
|
version: require('./version'),
|
||||||
admin: require('./admin'),
|
admin: require('./admin'),
|
||||||
compress: require('./compress'),
|
compress: require('./compress'),
|
||||||
|
comparisons: require('./comparisons'),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user