education-module-ai
Version:
AI Education Module using Agent Framework
82 lines (81 loc) • 2.49 kB
TypeScript
import { ResourceController } from "@defikitdotnet/agent-framework-backend";
import type { Request, Response } from "express";
import { EducationalContentResource } from "../models/EducationalContent";
import { EducationModuleAdapter } from "../database/EducationModuleAdapter";
/**
* Educational Content API controller
*/
export declare class EducationalContentController extends ResourceController<EducationalContentResource> {
private educationModuleAdapter;
private configService;
constructor();
setEducationModuleAdapter(adapter: EducationModuleAdapter): void;
/**
* Get all educational content items
*/
findAll(req: Request, res: Response): Promise<void>;
/**
* Create educational content using database adapter
*/
create(req: Request, res: Response): Promise<void>;
/**
* Update educational content using database adapter
*/
update(req: Request, res: Response): Promise<void>;
/**
* Delete educational content using database adapter
*/
delete(req: Request, res: Response): Promise<void>;
/**
* Get educational content by ID using database adapter
*/
getById(req: Request, res: Response): Promise<void>;
/**
* Generate educational content
*/
generateContent(req: Request, res: Response): Promise<void>;
/**
* Generate quiz
*/
generateQuiz(req: Request, res: Response): Promise<void>;
/**
* Question answering endpoint
*/
answerQuestion(req: Request, res: Response): Promise<void>;
/**
* Search for educational content
*/
searchContent(req: Request, res: Response): Promise<void>;
/**
* Get content by subject
*/
getBySubject(req: Request, res: Response): Promise<void>;
/**
* Get content by educational level
*/
getByLevel(req: Request, res: Response): Promise<void>;
/**
* Get available configuration options
*/
getConfig(req: Request, res: Response): Promise<void>;
/**
* Check if a subject is valid according to configuration
*/
private isValidSubject;
/**
* Check if an educational level is valid according to configuration
*/
private isValidLevel;
/**
* Check if content type is valid
*/
private isValidContentType;
/**
* Validate a subject value
*/
private validateSubject;
/**
* Validate an educational level value
*/
private validateEducationalLevel;
}