фикс
This commit is contained in:
@@ -19,10 +19,26 @@ router.use(timer());
|
|||||||
const loadMockData = (filename) => {
|
const loadMockData = (filename) => {
|
||||||
try {
|
try {
|
||||||
const filePath = path.join(__dirname, '..', 'mocks', filename);
|
const filePath = path.join(__dirname, '..', 'mocks', filename);
|
||||||
|
|
||||||
|
// Проверяем существование файла
|
||||||
|
if (!fs.existsSync(filePath)) {
|
||||||
|
console.error(`Файл ${filename} не найден по пути: ${filePath}`);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
const data = fs.readFileSync(filePath, 'utf8');
|
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) {
|
} catch (error) {
|
||||||
console.error(`Ошибка загрузки ${filename}:`, error);
|
console.error(`Ошибка загрузки ${filename}:`, error.message);
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -44,8 +60,22 @@ const generateDate = (daysAgo) => new Date(Date.now() - 86400000 * daysAgo).toIS
|
|||||||
|
|
||||||
// Функция для замены плейсхолдеров в данных
|
// Функция для замены плейсхолдеров в данных
|
||||||
const processMockData = (data) => {
|
const processMockData = (data) => {
|
||||||
|
// Проверяем, что данные существуют
|
||||||
|
if (data === undefined || data === null) {
|
||||||
|
console.warn('processMockData: получены undefined или null данные');
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
const timestamp = generateTimestamp();
|
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(/{{timestamp}}/g, timestamp)
|
||||||
.replace(/{{date-(\d+)-days?}}/g, (match, days) => generateDate(parseInt(days)))
|
.replace(/{{date-(\d+)-days?}}/g, (match, days) => generateDate(parseInt(days)))
|
||||||
.replace(/{{date-1-day}}/g, generateDate(1))
|
.replace(/{{date-1-day}}/g, generateDate(1))
|
||||||
@@ -67,7 +97,12 @@ const processMockData = (data) => {
|
|||||||
.replace(/{{date-30-days}}/g, generateDate(30))
|
.replace(/{{date-30-days}}/g, generateDate(30))
|
||||||
.replace(/{{date-35-days}}/g, generateDate(35));
|
.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
|
// Auth endpoints
|
||||||
@@ -77,7 +112,7 @@ router.post('/auth/login', (req, res) => {
|
|||||||
if (!email || !password) {
|
if (!email || !password) {
|
||||||
return res.status(400).json({
|
return res.status(400).json({
|
||||||
error: 'Validation failed',
|
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') {
|
if (password === 'wrong') {
|
||||||
return res.status(401).json({
|
return res.status(401).json({
|
||||||
error: 'Unauthorized',
|
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