Source: routes/events.js

/**
 * API-ruter for hendelser/arrangementer.
 * @module routes/event
 */
import express from 'express';
const router = express.Router();

// In-memory data for dette eksempelet - erstatt med databasekall senere
let eventStore = [
  { id: 1, title: 'Sommerfest', date: '2025-07-20', description: 'Årlig sommerfest for klubbens medlemmer.' },
  { id: 2, title: 'Julebord', date: '2025-12-05', description: 'Tradisjonelt julebord med god mat og drikke.' },
];
let nextEventId = 3;

/**
 * Henter alle hendelser.
 * @name GET /api/event
 * @function
 * @memberof module:routes/event
 * @param {express.Request} req HTTP-forespørselen
 * @param {express.Response} res HTTP-responsen med listen over hendelser
 * @returns {void}
 */
router.get('/', (req, res) => { // Stien er '/' relativt til '/api/event'
  res.json({ events: eventStore });
});

/**
 * Legger til en ny hendelse.
 * Forventer 'title', 'date', og 'description' i request body.
 * @name POST /api/event
 * @function
 * @memberof module:routes/event
 * @param {express.Request} req HTTP-forespørselen. Body bør inneholde { title: "...", date: "YYYY-MM-DD", description: "..." }.
 * @param {express.Response} res HTTP-responsen med den nylig tillagte hendelsen.
 * @returns {void}
 */
router.post('/', (req, res) => { // Stien er '/'
  const { title, date, description } = req.body;
  if (!title || !date || !description) {
    return res.status(400).json({ message: 'Title, date, and description are required.' });
  }
  const newEvent = {
    id: nextEventId++,
    title,
    date,
    description,
  };
  eventStore.push(newEvent);
  res.status(201).json(newEvent);
});

export default router;