const express = require('express') const dotenv = require('dotenv') // Загрузить переменные окружения dotenv.config() // Подключение к MongoDB через mongoose require('../../utils/mongoose') // Импортировать маршруты const authRoutes = require('./routes/auth') const companiesRoutes = require('./routes/companies') const messagesRoutes = require('./routes/messages') const searchRoutes = require('./routes/search') const buyRoutes = require('./routes/buy') const experienceRoutes = require('./routes/experience') const productsRoutes = require('./routes/products') const mongoose = require('mongoose') const app = express() // Задержка для имитации сети (опционально) const delay = (ms = 300) => (req, res, next) => setTimeout(next, ms) app.use(delay()) // Health check endpoint app.get('/health', (req, res) => { const mongodbStatus = mongoose.connection.readyState === 1 ? 'connected' : 'disconnected' res.json({ status: 'ok', api: 'running', database: mongodbStatus, mongoUri: process.env.MONGODB_URI || 'mongodb://localhost:27017/procurement_db', timestamp: new Date().toISOString() }) }) // Маршруты app.use('/auth', authRoutes) app.use('/companies', companiesRoutes) app.use('/messages', messagesRoutes) app.use('/search', searchRoutes) app.use('/buy', buyRoutes) app.use('/experience', experienceRoutes) app.use('/products', productsRoutes) // Обработка ошибок app.use((err, req, res, next) => { console.error('API Error:', err) res.status(err.status || 500).json({ error: err.message || 'Internal server error' }) }) // 404 handler app.use((req, res) => { res.status(404).json({ error: 'Not found' }) }) // Экспортировать для использования в brojs module.exports = app