feat(assistant): учитель видит профиль ученика для Квантика (агрегат, без заметок)
GET /assistant/student-profile/:id (teacher/admin): производный профиль ученика — слабые предметы, трудные темы экзамена, цель, серия. Сырые заметки НЕ отдаются (приватны). Доступ: свой класс или «Мои ученики»; чужой → 403; админ — любой (проверено). На /my-students — кнопка «Профиль» с поповером. Ученику в панели памяти уже написано «учитель видит лишь общие слабые темы». Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
/* Квантик-ассистент. Все маршруты — под авторизацией (router-level), фича-гейт
|
||||
* 'pet' навешивается при монтировании в server.js. */
|
||||
const router = require('express').Router();
|
||||
const { authMiddleware } = require('../middleware/auth');
|
||||
const { authMiddleware, requireRole } = require('../middleware/auth');
|
||||
const ctrl = require('../controllers/assistantController');
|
||||
|
||||
router.use(authMiddleware);
|
||||
@@ -18,5 +18,7 @@ router.get('/memory', ctrl.getMemory);
|
||||
router.delete('/memory', ctrl.clearMemory);
|
||||
// clearMemory удаляет только строки вызывающего (WHERE user_id = req.user.id)
|
||||
router.delete('/memory/:id', authMiddleware, ctrl.clearMemory);
|
||||
// Учитель/админ — производный профиль ученика (без сырых заметок); доступ проверяется в хендлере
|
||||
router.get('/student-profile/:id', requireRole('teacher', 'admin'), ctrl.getStudentProfile);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user