30 lines
625 B
JavaScript
30 lines
625 B
JavaScript
|
|
import express from 'express';
|
||
|
|
import cors from 'cors';
|
||
|
|
|
||
|
|
import logRoutes from './routes/logs.js';
|
||
|
|
import commandRoutes from './routes/commands.js';
|
||
|
|
import projectRoutes from './routes/projects.js';
|
||
|
|
|
||
|
|
export function createApp(options = {}) {
|
||
|
|
const { redis } = options;
|
||
|
|
|
||
|
|
const app = express();
|
||
|
|
|
||
|
|
app.use(cors());
|
||
|
|
app.use(express.json());
|
||
|
|
|
||
|
|
app.use('/api/logs', logRoutes);
|
||
|
|
app.use('/api/commands', commandRoutes);
|
||
|
|
app.use('/api/projects', projectRoutes);
|
||
|
|
|
||
|
|
app.get('/api/health', (req, res) => {
|
||
|
|
res.status(200).json({ status: 'ok' });
|
||
|
|
});
|
||
|
|
|
||
|
|
if (redis) {
|
||
|
|
app.locals.redis = redis;
|
||
|
|
}
|
||
|
|
|
||
|
|
return app;
|
||
|
|
}
|