feat: add teacher system with approval flow
- Teacher registration requires subject selection; account starts pending - Admin approves/rejects via existing admin panel - Teacher panel (Materialien, Ankündigungen, Prüfungen, Noten) visible only to approved teachers - Students see class materials and announcements via sidebar overlays - Teachers can assign grades to students (scoped to own subject) - New tables: teacher_materials, teacher_announcements, teacher_exams, teacher_assigned_grades - subject column added to users; included in JWT and /api/me - requireTeacher middleware fetches fresh status+subject from DB on every request - Login hint: username is the part of the school email before the @
This commit is contained in:
@@ -3,6 +3,7 @@ const cookieParser = require('cookie-parser');
|
||||
const path = require('path');
|
||||
const routes = require('./src/routes');
|
||||
const { router: filesRouter } = require('./src/files');
|
||||
const teacherRouter = require('./src/teacher');
|
||||
|
||||
const app = express();
|
||||
const PORT = 3010;
|
||||
@@ -12,6 +13,7 @@ app.use(cookieParser());
|
||||
app.use(express.static(path.join(__dirname, 'public')));
|
||||
app.use('/api', routes);
|
||||
app.use('/api/files', filesRouter);
|
||||
app.use('/api/teacher', teacherRouter);
|
||||
|
||||
const html = f => (req, res) => res.sendFile(path.join(__dirname, 'public', f));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user