import { Router } from 'express'; import { authenticate } from '../middleware/authenticate'; import { requireRole } from '../middleware/requireRole'; import { postGruppo, getGruppi, getGruppiElencoPubblico } from '../controllers/gruppi.controller'; export const gruppiRouter = Router(); // "admin" รจ la porta d'accesso diretta e definitiva a queste due route: un // utente normale non le chiama mai a mano, ma passa dal flusso self-service // di richiesta creazione gruppo (POST /richieste-creazione-gruppo), che alla // review positiva invoca createGruppo() internamente (vedi // richiesteCreazioneGruppo.service.ts:98), bypassando questo controllo. gruppiRouter.post('/gruppi', authenticate, requireRole('admin'), postGruppo); gruppiRouter.get('/gruppi', authenticate, requireRole('admin'), getGruppi); // Elenco minimale (orgId/nome) aperto a qualsiasi utente autenticato, usato // dal percorso "richiedi di entrare in un gruppo esistente" del profilo. gruppiRouter.get('/gruppi/elenco-pubblico', authenticate, getGruppiElencoPubblico);