@defikitdotnet/education-module-ai
Version:
AI Education Module using Agent Framework
37 lines (36 loc) • 2.1 kB
JavaScript
;
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;
}