Add comparison API endpoints

This commit is contained in:
D. Berge
2025-08-18 14:11:20 +02:00
parent c054e63325
commit 619a886781
6 changed files with 66 additions and 0 deletions

View File

@@ -357,6 +357,26 @@ app.map({
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/': {
'asaqc': {
get: [ mw.etag.noSave, mw.queue.asaqc.get ],

View 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);
}
};

View File

@@ -0,0 +1,4 @@
module.exports = {
list: require('./list'),
get: require('./get'),
}

View 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);
}
};

View File

@@ -0,0 +1,3 @@
module.exports = {
groups: require('./groups')
}

View File

@@ -23,4 +23,5 @@ module.exports = {
version: require('./version'),
admin: require('./admin'),
compress: require('./compress'),
comparisons: require('./comparisons'),
};