From efb63a9b791e938df6cc782229f6b2d13a091d87 Mon Sep 17 00:00:00 2001 From: Zdravko Iliev <zdravko.iliev@vereign.com> Date: Thu, 2 Nov 2023 15:25:58 +0000 Subject: [PATCH] fix: separate swagger generation from server run --- .env.example | 1 + apps/agent/src/main.ts | 20 ++++++++++++-------- apps/gateway/src/main.ts | 22 +++++++++++++--------- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/.env.example b/.env.example index c3cd2caa..56fb83cf 100644 --- a/.env.example +++ b/.env.example @@ -35,3 +35,4 @@ ATTESTATION_SERVICE_HOST=0.0.0.0 PROOF_SERVICE_TCP_PORT=8884 PROOF_SERVICE_HOST=0.0.0.0 +SWAGGER=false diff --git a/apps/agent/src/main.ts b/apps/agent/src/main.ts index 2cec87b8..daab3ec9 100644 --- a/apps/agent/src/main.ts +++ b/apps/agent/src/main.ts @@ -17,15 +17,19 @@ async function bootstrap() { const port = process.env.AGENT_PORT || 3001; app.enableShutdownHooks(); - const config = new DocumentBuilder() - .setTitle("Agent") - .setDescription("Agent API") - .setVersion("1.0") - .build(); + if (process.env.SWAGGER === "true") { + const config = new DocumentBuilder() + .setTitle("Agent") + .setDescription("Agent API") + .setVersion("1.0") + .build(); - const document = SwaggerModule.createDocument(app, config); - fs.writeFileSync("./agent-swagger.json", JSON.stringify(document)); - SwaggerModule.setup("api", app, document); + const document = SwaggerModule.createDocument(app, config); + fs.writeFileSync("./agent-swagger.json", JSON.stringify(document)); + SwaggerModule.setup("api", app, document); + Logger.log(`Swagger file written`); + return process.kill(0); + } await app.listen(port, "0.0.0.0"); Logger.log( diff --git a/apps/gateway/src/main.ts b/apps/gateway/src/main.ts index d3a80672..46494384 100644 --- a/apps/gateway/src/main.ts +++ b/apps/gateway/src/main.ts @@ -38,17 +38,21 @@ async function bootstrap() { app.enableShutdownHooks(); - const config = new DocumentBuilder() - .setTitle("OCM Gateway") - .setDescription("OCM ENGINE GATEWAY API") - .setVersion("1.0") - .addServer(`http://${gatewayConfig.host}:${gatewayConfig.httpPort}`) - .build(); + if (process.env.SWAGGER === "true") { + const config = new DocumentBuilder() + .setTitle("OCM Gateway") + .setDescription("OCM ENGINE GATEWAY API") + .setVersion("1.0") + .addServer(`http://${gatewayConfig.host}:${gatewayConfig.httpPort}`) + .build(); - const document = SwaggerModule.createDocument(app, config); - fs.writeFileSync("./gateway-swagger.json", JSON.stringify(document)); - SwaggerModule.setup("api", app, document); + const document = SwaggerModule.createDocument(app, config); + fs.writeFileSync("./gateway-swagger.json", JSON.stringify(document)); + SwaggerModule.setup("api", app, document); + Logger.log(`Swagger file written`); + return process.kill(0); + } const port = gatewayConfig.httpPort || 3000; await app.listen(port, gatewayConfig.host); -- GitLab