/**
* @file Defines the API routes for event registration operations.
* @module routes/registrationRoutes
* @requires express
* @requires ../controllers/registrationController
* @requires ../middleware/authMiddleware
*/
const express = require("express");
/**
* Express router for registration-related endpoints.
* @type {express.Router}
* @const
* @namespace registrationRoutes
*/
const router = express.Router();
const {
registerForEvent,
getMyRegistrations,
cancelRegistration,
} = require("../controllers/registrationController");
const { protect } = require("../middleware/authMiddleware");
/**
* POST /api/registrations/events/:eventId/register
* @function
* @memberof registrationRoutes
* @param {string} eventId - Event ID to register for.
* @description Register the current user for a specific event.
* @access Private
*/
router.post("/events/:eventId/register", protect, registerForEvent);
/**
* GET /api/registrations/my
* @function
* @memberof registrationRoutes
* @description Get all registrations for the currently logged-in user.
* @access Private
*/
router.get("/my", protect, getMyRegistrations);
/**
* DELETE /api/registrations/:id
* @function
* @memberof registrationRoutes
* @param {string} id - Registration ID to cancel.
* @description Cancel a specific registration by its ID.
* @access Private
*/
router.delete("/:id", protect, cancelRegistration);
module.exports = router;