const express = require('express'); const router = express.Router(); const { createPayment, getPayments, getUserPayments, getPaymentById, getPaymentsByRegistration, getPaymentsByEvent, assignDonationToRegistration, unassignDonationFromRegistration, createYocoCheckout, sendPaymentLink, createRefund, getPaymentStats } = require('../controllers/paymentController'); const { protect, supervisor, staff, admin} = require('../middleware/authMiddleware'); // Protected routes router.post('/', protect, supervisor, createPayment); router.post('/yoco-checkout', protect, createYocoCheckout); router.post('/yoco-checkout/send', protect, supervisor, sendPaymentLink); router.get('/mypayments', protect, getUserPayments); router.get('/:id', protect, getPaymentById); router.get('/registration/:registrationId', protect, getPaymentsByRegistration); // Admin/Staff routes router.get('/', protect, supervisor, getPayments); router.get('/event/:eventId', protect, staff, getPaymentsByEvent); router.put('/assign-donation', protect, supervisor, assignDonationToRegistration); router.post('/unassign-donation', protect, supervisor, unassignDonationFromRegistration); router.post('/refund', protect, supervisor, createRefund); router.get('/admin/stats', protect, admin, getPaymentStats); module.exports = router;