@defikitdotnet/education-module-ai
Version:
AI Education Module using Agent Framework
47 lines (46 loc) • 2 kB
TypeScript
import { RequestHandler } from "express";
import "reflect-metadata";
export declare const CONTROLLER_META_KEY = "controller:base-path";
export declare const ROUTES_META_KEY = "controller:routes";
export declare const MIDDLEWARE_META_KEY = "controller:middleware";
/**
* Controller decorator - marks a class as a controller
* @param basePath Base path for all routes in this controller
*/
export declare function Controller(basePath: string): (target: any) => any;
/**
* Route decorator - marks a method as a route handler
* @param path Route path
* @param method HTTP method
*/
export declare function Route(path: string, method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* GET route decorator
* @param path Route path
*/
export declare function Get(path: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* POST route decorator
* @param path Route path
*/
export declare function Post(path: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* PUT route decorator
* @param path Route path
*/
export declare function Put(path: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* DELETE route decorator
* @param path Route path
*/
export declare function Delete(path: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* PATCH route decorator
* @param path Route path
*/
export declare function Patch(path: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
/**
* Middleware decorator - adds middleware to a route handler
* @param middleware Middleware function(s)
*/
export declare function Use(...middleware: RequestHandler[]): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;