feat: add API_DOMAIN environment variable for production configuration

- Add API_DOMAIN env var to set domain/IP for API in production
- Update swagger.config.js to use dynamic server URLs
- Update server.js CORS configuration to use API_DOMAIN
- Update env.example with new API_DOMAIN field
- Add comprehensive documentation in README.md
- Fixes CORS issues in Swagger docs for production deployments
This commit is contained in:
Michilis
2025-07-15 21:45:40 +00:00
parent ba36f96f4c
commit 91259e98c6
4 changed files with 48 additions and 8 deletions

View File

@@ -10,12 +10,17 @@ const redemptionService = require('./services/redemption');
const app = express();
const PORT = process.env.PORT || 3000;
// Get API domain for CORS configuration
const apiDomain = process.env.API_DOMAIN || 'localhost:3000';
const isProduction = process.env.NODE_ENV === 'production';
const protocol = isProduction ? 'https' : 'http';
// Middleware
app.use(express.json({ limit: '10mb' }));
app.use(cors({
origin: process.env.ALLOWED_ORIGINS
? process.env.ALLOWED_ORIGINS.split(',').map(o => o.trim())
: ['http://localhost:3000'],
: [`${protocol}://${apiDomain}`],
methods: ['GET', 'POST'],
allowedHeaders: ['Content-Type', 'Authorization']
}));