traxxx/src/web/tags.js

34 lines
798 B
JavaScript
Raw Normal View History

'use strict';
const { fetchTags } = require('../tags');
async function fetchTagsApi(req, res) {
const tagId = typeof req.params.tagId === 'number' ? req.params.tagId : undefined; // null will literally include NULL results
const tagSlug = typeof req.params.tagId === 'string' ? req.params.tagId : undefined;
if (tagId || tagSlug) {
const tags = await fetchTags({
id: tagId,
slug: tagSlug,
}, req.query.limit);
if (tags.length > 0) {
res.send(tags[0]);
return;
}
res.status(404).send();
return;
}
const tags = await fetchTags({
priority: req.query.priority.split(','),
}, req.query.limit);
res.send(tags);
}
module.exports = {
fetchTags: fetchTagsApi,
};