UNPKG

@defikitdotnet/education-module-ai

Version:
43 lines (42 loc) 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAiContentRoutes = createAiContentRoutes; var express_1 = require("express"); var AiContentController_1 = require("../controllers/AiContentController"); var AiContentService_1 = require("../services/AiContentService"); var CourseService_1 = require("../services/CourseService"); var CourseRepository_1 = require("../repositories/CourseRepository"); var SectionRepository_1 = require("../repositories/SectionRepository"); var LectureRepository_1 = require("../repositories/LectureRepository"); var QuizRepository_1 = require("../repositories/QuizRepository"); var QuizQuestionRepository_1 = require("../repositories/QuizQuestionRepository"); var EnrollmentRepository_1 = require("../repositories/EnrollmentRepository"); var CategoryRepository_1 = require("../repositories/CategoryRepository"); /** * Create and configure AI content routes */ function createAiContentRoutes(dbAdapter) { var router = (0, express_1.Router)(); // Create repositories var courseRepository = new CourseRepository_1.CourseRepository(dbAdapter); var sectionRepository = new SectionRepository_1.SectionRepository(dbAdapter); var lectureRepository = new LectureRepository_1.LectureRepository(dbAdapter); var quizRepository = new QuizRepository_1.QuizRepository(dbAdapter); var quizQuestionRepository = new QuizQuestionRepository_1.QuizQuestionRepository(dbAdapter); var categoryRepository = new CategoryRepository_1.CategoryRepository(dbAdapter); var enrollmentRepository = new EnrollmentRepository_1.EnrollmentRepository(dbAdapter); // Create services var courseService = new CourseService_1.CourseService(courseRepository, sectionRepository, lectureRepository, quizRepository, quizQuestionRepository, categoryRepository, enrollmentRepository, dbAdapter); var aiContentService = new AiContentService_1.AiContentService(); // Create controller var aiContentController = new AiContentController_1.AiContentController(aiContentService, courseService, sectionRepository, lectureRepository, quizRepository, quizQuestionRepository); // Temporarily remove authentication // router.use(authenticateTeacher); // Generate course structure only (doesn't save to DB) router.post("/generate-course", aiContentController.generateCourse); // Generate section structure only (doesn't save to DB) router.post("/generate-section/:courseId", aiContentController.generateSection); // Generate and save a complete course to the database router.post("/generate-and-save-course", aiContentController.generateAndSaveCourse); return router; }