- Added Next.js frontend for candidate interviews - Added Node.js backend with TypeScript and AI integration - Added ASP.NET Core chatbot service for specialized AI conversations - Added MySQL database with complete schema - Added Nginx reverse proxy configuration - Complete Docker Compose orchestration for all services - Environment configuration for production, development, and Cloudflare - Comprehensive documentation and setup instructions - Flattened nested folder structures for clean organization - Integrated chatbot service with fallback to direct AI calls
30 lines
787 B
TypeScript
30 lines
787 B
TypeScript
import {Constant, Controller} from "@tsed/di";
|
|
import {HeaderParams} from "@tsed/platform-params";
|
|
import {View} from "@tsed/platform-views";
|
|
import {SwaggerSettings} from "@tsed/swagger";
|
|
import {Hidden, Get, Returns} from "@tsed/schema";
|
|
|
|
@Hidden()
|
|
@Controller("/")
|
|
export class IndexController {
|
|
@Constant("swagger", [])
|
|
private swagger: SwaggerSettings[];
|
|
|
|
@Get("/")
|
|
@View("swagger.ejs")
|
|
@(Returns(200, String).ContentType("text/html"))
|
|
get(@HeaderParams("x-forwarded-proto") protocol: string, @HeaderParams("host") host: string) {
|
|
const hostUrl = `${protocol || "http"}://${host}`;
|
|
|
|
return {
|
|
BASE_URL: hostUrl,
|
|
docs: this.swagger.map((conf) => {
|
|
return {
|
|
url: hostUrl + conf.path,
|
|
...conf
|
|
};
|
|
})
|
|
};
|
|
}
|
|
}
|