32 lines
813 B
JavaScript
32 lines
813 B
JavaScript
import express from 'express';
|
|
import { createAircallRoutes } from './aircall.routes.js';
|
|
|
|
export const createRoutes = (configs, logger) => {
|
|
const router = express.Router();
|
|
|
|
// Mount Aircall routes
|
|
router.use('/aircall', createAircallRoutes(configs.aircall, logger));
|
|
|
|
// Health check endpoint
|
|
router.get('/health', (req, res) => {
|
|
const services = req.services || {};
|
|
res.status(200).json({
|
|
status: 'ok',
|
|
timestamp: new Date(),
|
|
services: {
|
|
redis: services.redis?.isReady || false,
|
|
mongodb: services.mongo?.readyState === 1 || false
|
|
}
|
|
});
|
|
});
|
|
|
|
// Catch-all 404 handler
|
|
router.use('*', (req, res) => {
|
|
res.status(404).json({
|
|
error: 'Not Found',
|
|
message: `Route ${req.originalUrl} not found`
|
|
});
|
|
});
|
|
|
|
return router;
|
|
};
|