1
0
goodtimes/server/routes/events.js
James Ketrenos 7aaa2cd1bf Added base data for events
Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
2022-04-09 22:36:25 -07:00

65 lines
1.6 KiB
JavaScript

'use strict';
const config = require('config');
const express = require('express');
const router = express.Router();
const originalEvents = require('../event-data.js');
router.put('/', (req, res) => {
const event = req.body;
event.id = originalEvents.length;
originalEvents.push(event);
res.status(200).send([event]);
});
router.get('/google-api-key', (req, res) => {
return res.status(200).send({ key: config.get('googleApi') });
});
router.get('/:eventId?', (req, res) => {
const { eventId } = req.params;
if (eventId) {
const event = originalEvents.find(
item => item.id === eventId
);
if (!event) {
return res.status(404).send({ message: `Event ${eventId} not found.` });
}
return res.status(200).send([event]);
}
return res.status(200).send(originalEvents);
});
router.post('/:eventId', (req, res) => {
const { eventId } = req.params;
if (!eventId) {
return res.status(400).send({ message: `Invalid event.` });
}
const event = originalEvents.find(
item => item.id === eventId
);
if (!event) {
res.status(404).send({ message: `Event ${eventId} not found.` });
}
res.status(200).send([event]);
});
router.delete('/:eventId', (req, res) => {
const { eventId } = req.params;
if (!eventId) {
return res.status(400).send({ message: `Invalid event.` });
}
const eventIndex = originalEvents.findIndex(
item => item.id === eventId
);
if (eventIndex === -1) {
res.status(404).send({ message: `Event ${eventId} not found.` });
}
originalEvents.splice(eventIndex, 1);
res.status(200).send({ message: `Event ${eventId} deleted.` });
});
module.exports = router;