'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;