53 lines
1.2 KiB
JavaScript
Executable File
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;
|