|
|
|
@ -77,14 +77,33 @@ export class WebhookServer {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static validateEnv() {
|
|
|
|
|
|
|
|
const missing = REQUIRED_ENV.filter(v => !process.env[v]);
|
|
|
|
|
|
|
|
if (missing.length) {
|
|
|
|
|
|
|
|
console.error('❌ Missing required environment variables:');
|
|
|
|
|
|
|
|
missing.forEach(v => console.error(`- ${v}`));
|
|
|
|
|
|
|
|
console.error('Add these to your CapRover environment configuration');
|
|
|
|
|
|
|
|
process.exit(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (process.env.CHATBOT_PHONE_NUMBER &&
|
|
|
|
|
|
|
|
!/^\d+$/.test(process.env.CHATBOT_PHONE_NUMBER)) {
|
|
|
|
|
|
|
|
console.error('❌ CHATBOT_PHONE_NUMBER must contain only digits');
|
|
|
|
|
|
|
|
process.exit(1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static start() {
|
|
|
|
static start() {
|
|
|
|
|
|
|
|
this.validateEnv();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const PORT = process.env.PORT || 3007;
|
|
|
|
|
|
|
|
console.log('✅ Environment variables validated');
|
|
|
|
|
|
|
|
|
|
|
|
if (process.env.NODE_ENV !== 'test') {
|
|
|
|
if (process.env.NODE_ENV !== 'test') {
|
|
|
|
const server = Bun.serve({
|
|
|
|
return Bun.serve({
|
|
|
|
port: PORT,
|
|
|
|
port: PORT,
|
|
|
|
fetch: WebhookServer.handleRequest,
|
|
|
|
fetch: WebhookServer.handleRequest
|
|
|
|
});
|
|
|
|
});
|
|
|
|
console.log(`Server running on port ${PORT}`);
|
|
|
|
|
|
|
|
return server;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} // <-- This closing brace was missing
|
|
|
|
}
|
|
|
|
|