UNPKG

@defikitdotnet/education-module-ai

Version:
37 lines (36 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAuthRoutes = createAuthRoutes; var express_1 = require("express"); var AuthController_1 = require("../controllers/AuthController"); var StudentRepository_1 = require("../repositories/StudentRepository"); var TeacherRepository_1 = require("../repositories/TeacherRepository"); var auth_1 = require("../middleware/auth"); /** * Create and configure authentication routes */ function createAuthRoutes(dbAdapter) { var router = (0, express_1.Router)(); // Create repositories and controller var studentRepository = new StudentRepository_1.StudentRepository(dbAdapter); var teacherRepository = new TeacherRepository_1.TeacherRepository(dbAdapter); var authController = new AuthController_1.AuthController(studentRepository, teacherRepository); // --- Student Authentication Routes --- // router.post("/student/login", authController.loginStudent); router.post("/student/direct-login", authController.directLoginStudent); router.get("/student/status", authController.checkStudentStatus); router.post("/student/logout", authController.logoutStudent); // --- Student Profile Routes (require authentication) --- // router.get("/student/me", auth_1.authenticateStudent, authController.getStudentProfile); router.put("/student/me", auth_1.authenticateStudent, authController.updateStudentProfile); // --- Teacher Authentication Routes --- // router.post("/teacher/register", authController.registerTeacher); router.post("/teacher/login", authController.loginTeacher); router.post("/teacher/direct-login", authController.directLoginTeacher); router.get("/teacher/status", authController.checkTeacherStatus); router.post("/teacher/logout", authController.logoutTeacher); // --- Teacher Profile Routes (require authentication) --- // router.get("/teacher/me", auth_1.authenticateTeacher, authController.getTeacherProfile); router.put("/teacher/me", auth_1.authenticateTeacher, authController.updateTeacherProfile); return router; }