diff --git a/server/routers/procurement/index.js b/server/routers/procurement/index.js index 2af0799..f1ba3bc 100644 --- a/server/routers/procurement/index.js +++ b/server/routers/procurement/index.js @@ -1,6 +1,4 @@ const router = require('express').Router(); -const fs = require('fs'); -const path = require('path'); const timer = (time = 300) => (req, res, next) => setTimeout(next, time); @@ -15,44 +13,13 @@ router.use((req, res, next) => { router.use(timer()); -// Загружаем моки из JSON файлов -const loadMockData = (filename) => { - try { - const filePath = path.join(__dirname, 'mocks', filename); - - // Проверяем существование файла - if (!fs.existsSync(filePath)) { - console.error(`Файл ${filename} не найден по пути: ${filePath}`); - return {}; - } - - const data = fs.readFileSync(filePath, 'utf8'); - - // Проверяем, что файл не пустой - if (!data || data.trim() === '') { - console.error(`Файл ${filename} пустой`); - return {}; - } - - const parsedData = JSON.parse(data); - console.log(`Успешно загружен файл ${filename}`); - return parsedData; - } catch (error) { - console.error(`Ошибка загрузки ${filename}:`, error.message); - return {}; - } -}; +// Загружаем моки через прямые импорты +const userMocks = require('./mocks/user.json'); +const companyMocks = require('./mocks/companies.json'); +const productMocks = require('./mocks/products.json'); +const searchMocks = require('./mocks/search.json'); +const authMocks = require('./mocks/auth.json'); -// Загружаем все моки -const userMocks = loadMockData('user.json'); -const companyMocks = loadMockData('companies.json'); -const productMocks = loadMockData('products.json'); -const searchMocks = loadMockData('search.json'); -const authMocks = loadMockData('auth.json'); - -// Логируем загруженные данные для отладки -console.log('SearchMocks loaded:', searchMocks); -console.log('Suggestions:', searchMocks.suggestions); // Вспомогательные функции для генерации динамических данных const generateTimestamp = () => Date.now(); @@ -60,18 +27,14 @@ const generateDate = (daysAgo) => new Date(Date.now() - 86400000 * daysAgo).toIS // Функция для замены плейсхолдеров в данных const processMockData = (data) => { - // Проверяем, что данные существуют if (data === undefined || data === null) { - console.warn('processMockData: получены undefined или null данные'); return data; } const timestamp = generateTimestamp(); const jsonString = JSON.stringify(data); - // Проверяем, что JSON.stringify вернул валидную строку if (jsonString === undefined || jsonString === null) { - console.warn('processMockData: JSON.stringify вернул undefined или null'); return data; } @@ -100,8 +63,7 @@ const processMockData = (data) => { try { return JSON.parse(processedData); } catch (error) { - console.error('processMockData: ошибка при парсинге JSON:', error); - return data; // Возвращаем исходные данные в случае ошибки + return data; } }; @@ -124,12 +86,15 @@ router.post('/auth/login', (req, res) => { }); } - // Проверяем, что данные загружены if (!authMocks?.mockAuthResponse) { - console.error('authMocks.mockAuthResponse не загружен'); return res.status(500).json({ error: 'Internal Server Error', - message: 'Ошибка загрузки данных аутентификации' + message: 'Ошибка загрузки данных аутентификации', + details: { + authMocksExists: !!authMocks, + authMocksType: typeof authMocks, + authMocksKeys: authMocks ? Object.keys(authMocks) : null + } }); } @@ -405,19 +370,11 @@ router.get('/search', (req, res) => { limit = 20 } = req.query; - console.log('Search query:', query); - console.log('Search params:', req.query); - const companies = processMockData(companyMocks.mockCompanies); - console.log('Companies loaded:', companies.length); - console.log('First company:', companies[0]); - let filtered = [...companies]; - // Поиск по тексту if (query) { const q = query.toLowerCase().trim(); - console.log('Searching for:', q); filtered = filtered.filter(c => { const fullName = (c.fullName || '').toLowerCase(); @@ -426,20 +383,12 @@ router.get('/search', (req, res) => { const slogan = (c.slogan || '').toLowerCase(); const legalAddress = (c.legalAddress || '').toLowerCase(); - const matches = fullName.includes(q) || - shortName.includes(q) || - industry.includes(q) || - slogan.includes(q) || - legalAddress.includes(q); - - if (matches) { - console.log('Found match:', c.shortName, 'in', { fullName, shortName, industry, slogan, legalAddress }); - } - - return matches; + return fullName.includes(q) || + shortName.includes(q) || + industry.includes(q) || + slogan.includes(q) || + legalAddress.includes(q); }); - - console.log('Filtered results:', filtered.length); } // Фильтр по отраслям @@ -545,14 +494,11 @@ router.get('/search/suggestions', (req, res) => { const { q } = req.query; const suggestions = searchMocks.suggestions || []; - console.log('Suggestions loaded:', suggestions); - console.log('Query:', q); const filtered = q ? suggestions.filter(s => s.toLowerCase().includes(q.toLowerCase())) - : suggestions.slice(0, 10); // Показываем только первые 10 если нет запроса + : suggestions.slice(0, 10); - console.log('Filtered suggestions:', filtered); res.status(200).json(filtered); });