Files
scouthub/scouthub-home-be/src/routes/gruppi.routes.ts
T
2026-07-25 12:09:12 +02:00

19 lines
1.0 KiB
TypeScript

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);