19 lines
1.0 KiB
TypeScript
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);
|