@defikitdotnet/education-module-ai
Version:
AI Education Module using Agent Framework
64 lines (63 loc) • 2.66 kB
TypeScript
import type { Request, Response } from "express";
import { CourseService } from "../services/CourseService";
import { SectionService } from "../services/SectionService";
import { LectureService } from "../services/LectureService";
import { QuizService } from "../services/QuizService";
import { QuizQuestionService } from "../services/QuizQuestionService";
import { LectureRepository } from "../repositories/LectureRepository";
import { SectionRepository } from "../repositories/SectionRepository";
import { CourseRepository } from "../repositories/CourseRepository";
import { QuizRepository } from "../repositories/QuizRepository";
import { QuizQuestionRepository } from "../repositories/QuizQuestionRepository";
import { TeacherService } from "../services/TeacherService";
export declare class CourseController {
private courseRepository;
private sectionRepository;
private lectureRepository;
private quizRepository;
private quizQuestionRepository;
private courseService;
private sectionService;
private lectureService;
private quizService;
private quizQuestionService;
private teacherService;
constructor(courseRepository: CourseRepository, sectionRepository: SectionRepository, lectureRepository: LectureRepository, quizRepository: QuizRepository, quizQuestionRepository: QuizQuestionRepository, courseService: CourseService, sectionService: SectionService, lectureService: LectureService, quizService: QuizService, quizQuestionService: QuizQuestionService, teacherService: TeacherService);
/**
* Get public courses
*/
getPublicCourses(req: Request, res: Response): Promise<void>;
/**
* Create a new course
*/
createCourse(req: Request, res: Response): Promise<void>;
/**
* Get all courses for a teacher
*/
getCoursesByTeacherId(req: Request, res: Response): Promise<void>;
/**
* Get a course by ID with all sections, lectures, and quizzes
*/
getCourseDetail(req: Request, res: Response): Promise<void>;
createCourseContent(req: Request, res: Response): Promise<void>;
/**
* Update a course
*/
updateCourse(req: Request, res: Response): Promise<void>;
/**
* Delete a course
*/
deleteCourse(req: Request, res: Response): Promise<void>;
/**
* Get courses by category
*/
getCoursesByCategory(req: Request, res: Response): Promise<void>;
/**
* Generate course using AI
*/
generateCourse(req: Request, res: Response): Promise<void>;
/**
* Create course from AI-generated structure
*/
createFromAI(req: Request, res: Response): Promise<void>;
}