2025-09-27 16:59:25 +09:00
|
|
|
import { Module } from "@nestjs/common";
|
|
|
|
|
import { ConfigModule } from "@nestjs/config";
|
|
|
|
|
import { MinimalController } from "./minimal.controller";
|
|
|
|
|
|
2025-09-29 15:26:54 +09:00
|
|
|
// Import controllers for OpenAPI generation
|
|
|
|
|
import { InvoicesController } from "../src/modules/invoices/invoices.controller";
|
|
|
|
|
|
2025-09-27 16:59:25 +09:00
|
|
|
/**
|
2025-09-29 15:26:54 +09:00
|
|
|
* OpenAPI generation module
|
|
|
|
|
* Includes all controllers but with minimal dependencies for schema generation
|
2025-09-27 16:59:25 +09:00
|
|
|
*/
|
|
|
|
|
@Module({
|
|
|
|
|
imports: [
|
|
|
|
|
ConfigModule.forRoot({
|
|
|
|
|
isGlobal: true,
|
|
|
|
|
ignoreEnvFile: true, // Don't require .env file
|
|
|
|
|
load: [
|
|
|
|
|
() => ({
|
|
|
|
|
NODE_ENV: "development",
|
|
|
|
|
JWT_SECRET: "temp-secret-for-openapi-generation-only-32-chars",
|
|
|
|
|
DATABASE_URL: "postgresql://temp:temp@localhost:5432/temp",
|
|
|
|
|
REDIS_URL: "redis://localhost:6379",
|
|
|
|
|
BFF_PORT: 4000,
|
|
|
|
|
APP_NAME: "customer-portal-bff",
|
|
|
|
|
APP_BASE_URL: "http://localhost:3000",
|
|
|
|
|
}),
|
|
|
|
|
],
|
|
|
|
|
}),
|
|
|
|
|
],
|
|
|
|
|
controllers: [
|
|
|
|
|
MinimalController,
|
2025-09-29 15:26:54 +09:00
|
|
|
InvoicesController,
|
|
|
|
|
],
|
|
|
|
|
providers: [
|
|
|
|
|
// Mock providers for controllers that need them
|
|
|
|
|
{
|
|
|
|
|
provide: "InvoicesOrchestratorService",
|
|
|
|
|
useValue: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
provide: "WhmcsService",
|
|
|
|
|
useValue: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
provide: "MappingsService",
|
|
|
|
|
useValue: {},
|
|
|
|
|
},
|
|
|
|
|
// Add other required services as mocks
|
|
|
|
|
{
|
|
|
|
|
provide: "Logger",
|
|
|
|
|
useValue: { log: () => {}, error: () => {}, warn: () => {} },
|
|
|
|
|
},
|
2025-09-27 16:59:25 +09:00
|
|
|
],
|
|
|
|
|
})
|
|
|
|
|
export class OpenApiModule {}
|