fix: Make Swagger server URLs fully configurable
- Add configurable server URL from API_BASE_URL env var - Make production server optional via PRODUCTION_API_URL env var - Remove hardcoded https://api.goagel.gov.in - Document PRODUCTION_API_URL in .env.example
This commit is contained in:
@@ -64,6 +64,11 @@ PLATFORM_WALLET_PRIVATE_KEY=
|
|||||||
# NODE_ENV=production
|
# NODE_ENV=production
|
||||||
# FORCE_RESEED=false
|
# FORCE_RESEED=false
|
||||||
|
|
||||||
|
# Production API URL for Swagger documentation
|
||||||
|
# Only set this when you have a production domain configured
|
||||||
|
# Example: https://api.goagel.gov.in
|
||||||
|
# PRODUCTION_API_URL=
|
||||||
|
|
||||||
# External ports (if defaults conflict)
|
# External ports (if defaults conflict)
|
||||||
# API_PORT=3001
|
# API_PORT=3001
|
||||||
# FRONTEND_PORT=4200
|
# FRONTEND_PORT=4200
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ async function bootstrap(): Promise<void> {
|
|||||||
|
|
||||||
// Swagger documentation
|
// Swagger documentation
|
||||||
if (swaggerEnabled) {
|
if (swaggerEnabled) {
|
||||||
const swaggerConfig = new DocumentBuilder()
|
const swaggerBuilder = new DocumentBuilder()
|
||||||
.setTitle('Goa GEL API')
|
.setTitle('Goa GEL API')
|
||||||
.setDescription('Blockchain Document Verification Platform for Government of Goa')
|
.setDescription('Blockchain Document Verification Platform for Government of Goa')
|
||||||
.setVersion('1.0.0')
|
.setVersion('1.0.0')
|
||||||
@@ -110,7 +110,15 @@ async function bootstrap(): Promise<void> {
|
|||||||
'ApiKeyAuth',
|
'ApiKeyAuth',
|
||||||
)
|
)
|
||||||
.addServer(`http://localhost:${port}`, 'Local Development')
|
.addServer(`http://localhost:${port}`, 'Local Development')
|
||||||
.addServer('https://api.goagel.gov.in', 'Production')
|
.addServer(process.env.API_BASE_URL?.replace('/api/v1', '') || `http://localhost:${port}`, 'Configured Server');
|
||||||
|
|
||||||
|
// Add production server only if configured
|
||||||
|
const productionApiUrl = process.env.PRODUCTION_API_URL;
|
||||||
|
if (productionApiUrl) {
|
||||||
|
swaggerBuilder.addServer(productionApiUrl, 'Production');
|
||||||
|
}
|
||||||
|
|
||||||
|
const swaggerConfig = swaggerBuilder
|
||||||
.addTag('Auth', 'Authentication and authorization')
|
.addTag('Auth', 'Authentication and authorization')
|
||||||
.addTag('Applicants', 'Applicant management')
|
.addTag('Applicants', 'Applicant management')
|
||||||
.addTag('Requests', 'License request operations')
|
.addTag('Requests', 'License request operations')
|
||||||
|
|||||||
Reference in New Issue
Block a user