food
This commit is contained in:
+20
-5
@@ -19,6 +19,7 @@ const healthRouter = require('./routes/health');
|
||||
const monitoringRouter = require('./routes/monitoring');
|
||||
const setupWebSocket = require('./services/websocket');
|
||||
const cardController = require('./controllers/cardController');
|
||||
const foodOrdersRouter = require('./moders/routes/foodOrders');
|
||||
const app = express();
|
||||
const server = require('http').createServer(app);
|
||||
|
||||
@@ -27,17 +28,29 @@ const corsConfig = require('./config/cors');
|
||||
const sessionConfig = require('./config/session');
|
||||
|
||||
// Middleware
|
||||
app.use(helmet()); // Добавление helmet для защиты
|
||||
app.use(helmet({
|
||||
contentSecurityPolicy: false, // Разрешаем скрипты на странице питания
|
||||
}));
|
||||
app.use(cors(corsConfig));
|
||||
app.use(morgan('dev'));
|
||||
app.use(express.json({ limit: '100mb' }));
|
||||
app.use(session(sessionConfig(session)));
|
||||
|
||||
// Роуты
|
||||
app.use('/api/auth', authRouter);
|
||||
// Статические файлы
|
||||
app.use(express.static(path.join(__dirname, '..','admin-frontend', 'build')));
|
||||
app.use('/uploads', express.static(__dirname + '/uploads'));
|
||||
|
||||
// ============================================
|
||||
// ПИТАНИЕ (API + HTML страница)
|
||||
// ============================================
|
||||
app.use('/moders/food', foodOrdersRouter); // 👈 ВОТ ЭТА СТРОКА ИСПРАВЛЕНА
|
||||
app.get('/moders/food', (req, res) => {
|
||||
// Отдаем HTML файл
|
||||
res.sendFile(path.join(__dirname, 'views', 'food-orders.html'));
|
||||
});
|
||||
|
||||
// Роуты
|
||||
app.use('/api/card', cardRouter);
|
||||
app.use('/api/logs', logsRouter);
|
||||
@@ -47,10 +60,12 @@ app.use('/api/health', healthRouter);
|
||||
app.use('/api/monitoring', monitoringRouter);
|
||||
app.use('/moders', moderAuthRouter);
|
||||
app.use('/moders/content', moderContentRouter);
|
||||
|
||||
app.use((req, res, next) => {
|
||||
console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
|
||||
next();
|
||||
});
|
||||
|
||||
// Initialize card logs
|
||||
(async () => {
|
||||
try {
|
||||
@@ -74,9 +89,10 @@ app.get(/.*/, (req, res, next) => {
|
||||
|
||||
// Обработчик ошибок (должен быть последним!)
|
||||
app.use(require('./middleware/errorHandler'));
|
||||
|
||||
app.get('/api/status', async (req, res) => {
|
||||
try {
|
||||
res.json({ status: 'online' }); // или другая логика проверки
|
||||
res.json({ status: 'online' });
|
||||
} catch (err) {
|
||||
res.status(500).json({ status: 'error', message: err.message });
|
||||
}
|
||||
@@ -96,19 +112,17 @@ app.get('/api/config', async (req, res) => {
|
||||
res.status(500).json({ error: 'Ошибка загрузки конфигурации' });
|
||||
}
|
||||
});
|
||||
// Добавьте рядом с существующим GET обработчиком
|
||||
|
||||
app.post('/api/config', async (req, res) => {
|
||||
try {
|
||||
const backendConfigPath = path.join(__dirname, '../backend/config.json');
|
||||
const content = await fs.readFile(backendConfigPath, 'utf8');
|
||||
const currentConfig = JSON.parse(content);
|
||||
|
||||
// Обновляем только разрешенные поля
|
||||
if (req.body.payslipsPath) {
|
||||
currentConfig.payslipsPath = req.body.payslipsPath;
|
||||
}
|
||||
|
||||
// Сохраняем обновленный конфиг
|
||||
await fs.writeFile(backendConfigPath, JSON.stringify(currentConfig, null, 4));
|
||||
|
||||
res.json({
|
||||
@@ -123,6 +137,7 @@ app.post('/api/config', async (req, res) => {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
server.listen(process.env.PORT || 3005, () => {
|
||||
logger.info(`Server running on ${process.env.ADMIN_URL}`);
|
||||
});
|
||||
Reference in New Issue
Block a user