feature/worker #111
@@ -19,10 +19,26 @@ router.use(timer());
|
||||
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');
|
||||
return JSON.parse(data);
|
||||
|
||||
// Проверяем, что файл не пустой
|
||||
if (!data || data.trim() === '') {
|
||||
console.error(`Файл ${filename} пустой`);
|
||||
return {};
|
||||
}
|
||||
|
||||
const parsedData = JSON.parse(data);
|
||||
console.log(`Успешно загружен файл ${filename}`);
|
||||
return parsedData;
|
||||
} catch (error) {
|
||||
console.error(`Ошибка загрузки ${filename}:`, error);
|
||||
console.error(`Ошибка загрузки ${filename}:`, error.message);
|
||||
return {};
|
||||
}
|
||||
};
|
||||
@@ -44,8 +60,22 @@ 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 processedData = JSON.stringify(data)
|
||||
const jsonString = JSON.stringify(data);
|
||||
|
||||
// Проверяем, что JSON.stringify вернул валидную строку
|
||||
if (jsonString === undefined || jsonString === null) {
|
||||
console.warn('processMockData: JSON.stringify вернул undefined или null');
|
||||
return data;
|
||||
}
|
||||
|
||||
const processedData = jsonString
|
||||
.replace(/{{timestamp}}/g, timestamp)
|
||||
.replace(/{{date-(\d+)-days?}}/g, (match, days) => generateDate(parseInt(days)))
|
||||
.replace(/{{date-1-day}}/g, generateDate(1))
|
||||
@@ -67,7 +97,12 @@ const processMockData = (data) => {
|
||||
.replace(/{{date-30-days}}/g, generateDate(30))
|
||||
.replace(/{{date-35-days}}/g, generateDate(35));
|
||||
|
||||
return JSON.parse(processedData);
|
||||
try {
|
||||
return JSON.parse(processedData);
|
||||
} catch (error) {
|
||||
console.error('processMockData: ошибка при парсинге JSON:', error);
|
||||
return data; // Возвращаем исходные данные в случае ошибки
|
||||
}
|
||||
};
|
||||
|
||||
// Auth endpoints
|
||||
@@ -77,7 +112,7 @@ router.post('/auth/login', (req, res) => {
|
||||
if (!email || !password) {
|
||||
return res.status(400).json({
|
||||
error: 'Validation failed',
|
||||
message: authMocks.errorMessages?.validationFailed || 'Email и пароль обязательны'
|
||||
message: authMocks?.errorMessages?.validationFailed || 'Email и пароль обязательны'
|
||||
});
|
||||
}
|
||||
|
||||
@@ -85,7 +120,16 @@ router.post('/auth/login', (req, res) => {
|
||||
if (password === 'wrong') {
|
||||
return res.status(401).json({
|
||||
error: 'Unauthorized',
|
||||
message: authMocks.errorMessages?.invalidCredentials || 'Неверный email или пароль'
|
||||
message: authMocks?.errorMessages?.invalidCredentials || 'Неверный email или пароль'
|
||||
});
|
||||
}
|
||||
|
||||
// Проверяем, что данные загружены
|
||||
if (!authMocks?.mockAuthResponse) {
|
||||
console.error('authMocks.mockAuthResponse не загружен');
|
||||
return res.status(500).json({
|
||||
error: 'Internal Server Error',
|
||||
message: 'Ошибка загрузки данных аутентификации'
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user