import { Router } from 'express';
import { requireAuth } from '../middleware/auth';
import {
  listEvents,
  createEvent,
  getEvent,
  updateEvent,
  deleteEvent,
  getEventSummary,
} from '../controllers/events.controller';
import {
  fetchSheetHeaders,
  syncGoogleSheet,
  removeGoogleSheetConfig,
} from '../controllers/google-sheet-sync.controller';

const router = Router();

router.use(requireAuth);

router.get('/', listEvents);
router.post('/', createEvent);
router.get('/:id', getEvent);
router.put('/:id', updateEvent);
router.delete('/:id', deleteEvent);
router.get('/:id/summary', getEventSummary);
router.post('/:id/google-sheet/headers', fetchSheetHeaders);
router.post('/:id/google-sheet/sync', syncGoogleSheet);
router.delete('/:id/google-sheet', removeGoogleSheetConfig);

export default router;
