1
0
goodtimes/server/routes/groups.js
James Ketrenos 6238cdd6db Group and Location fetching hooked into Groups / Locations
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
2022-04-09 16:59:20 -07:00

53 lines
1.2 KiB
JavaScript
Executable File

const express = require('express'),
router = express.Router();
const originalGroups = [ {
id: 1,
ownerId: 1,
name: 'Beer Tuesday',
group: 'beer-tuesday',
nextEvent: Date.now() + 86400 * 14 * 1000 /* 2 weeks from now */
} ];
router.get('/:group?', async (req, res/*, next*/) => {
const { group } = req.params;
if (!group) {
return res.status(200).send(originalGroups);
}
const found = originalGroups.find((item) => {
if (typeof group === 'number') {
return item.id === group;
}
if (typeof group === 'string') {
return item.group === group;
}
return false;
});
if (!found) {
return res.status(404).send({ message: `Unable to find ${group}.`});
}
return res.status(200).send([ found ]);
});
router.get('/:group/events', async (req, res/*, next*/) => {
return res.status(200).send(
[{
id: 1,
name: 'Tuesday',
date: Date.now() + 86400 * 14 * 1000 /* 2 weeks from now */
}]
);
});
router.post('/:group', async (req, res) => {
const { group } = req.params;
if (!group) {
return res.status(400).send({ message: `Invalid group.`});
}
return res.status(200).send({ id: group });
});
module.exports = router;