'use strict'; /* /api/prep — управление мастер-флагом «подготовка к направлению». * Все роуты под authMiddleware. Мутации/чтение чужого статуса — учитель (своих) * или админ (проверка владения в контроллере: canManageStudent/canManageClass). */ const express = require('express'); const router = express.Router(); const prep = require('../controllers/prepController'); const { authMiddleware, requireRole } = require('../middleware/auth'); router.use(authMiddleware); router.get ('/tracks', prep.listTracks); // справочник направлений (любой авторизованный) router.get ('/me', prep.myTracks); // свой статус (ученик) // Управление флагами учеников/классов — только учитель/админ (владение — в контроллере). router.get ('/student/:id', requireRole('teacher', 'admin'), prep.studentTracks); router.post ('/student/:id', requireRole('teacher', 'admin'), prep.setStudent); router.delete('/student/:id', requireRole('teacher', 'admin'), prep.unsetStudent); router.get ('/class/:id', requireRole('teacher', 'admin'), prep.classStatus); router.post ('/class/:id', requireRole('teacher', 'admin'), prep.setClass); module.exports = router;