security(errors): 5xx без утечки err.message клиенту
Шаг 0.7 плана production-готовности: - глобальный error handler: нейтральный текст + код инцидента, детали в лог - route-уровень: зачистка err.message/String(err) в 5xx по 12 файлам, оригинальные ошибки логируются с контекстом
This commit is contained in:
@@ -589,7 +589,7 @@ export function registerUserManagementRoutes(router: Router): void {
|
||||
res.json({ success: true, subscriptions });
|
||||
} catch (error: any) {
|
||||
console.error('Get offline subscriptions error:', error);
|
||||
res.status(500).json({ success: false, error: error.message || 'Ошибка загрузки подписок' });
|
||||
res.status(500).json({ success: false, error: 'Ошибка загрузки подписок' });
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -619,7 +619,7 @@ export function registerUserManagementRoutes(router: Router): void {
|
||||
res.json({ success: true, subscription });
|
||||
} catch (error: any) {
|
||||
console.error('Upsert offline subscription error:', error);
|
||||
res.status(500).json({ success: false, error: error.message || 'Ошибка сохранения подписки' });
|
||||
res.status(500).json({ success: false, error: 'Ошибка сохранения подписки' });
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -641,7 +641,7 @@ export function registerUserManagementRoutes(router: Router): void {
|
||||
res.json({ success: true });
|
||||
} catch (error: any) {
|
||||
console.error('Delete offline subscription error:', error);
|
||||
res.status(500).json({ success: false, error: error.message || 'Ошибка удаления подписки' });
|
||||
res.status(500).json({ success: false, error: 'Ошибка удаления подписки' });
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user