- Переписаны основные файлы сервера с JavaScript на TypeScript. - Добавлен новый обработчик ошибок с логированием в базу данных. - Обновлен Dockerfile для поддержки сборки TypeScript. - Изменены настройки окружения для MongoDB в docker-compose. - Удалены устаревшие файлы и добавлены новые модели и утилиты для работы с MongoDB. - Обновлены зависимости в package.json и package-lock.json.
29 lines
895 B
TypeScript
29 lines
895 B
TypeScript
import { ErrorLog } from './models/ErrorLog'
|
|
|
|
const noToken = 'No authorization token was found'
|
|
|
|
export const errorHandler = (err, req, res, next) => {
|
|
// Сохраняем ошибку в базу данных
|
|
const errorLog = new ErrorLog({
|
|
message: err.message || 'Неизвестная ошибка',
|
|
stack: err.stack,
|
|
path: req.path,
|
|
method: req.method,
|
|
query: req.query,
|
|
body: req.body
|
|
})
|
|
|
|
errorLog.save()
|
|
.catch(saveErr => console.error('Ошибка при сохранении лога ошибки:', saveErr))
|
|
|
|
if (err.message === noToken) {
|
|
res.status(400).send({
|
|
success: false, error: 'Токен авторизации не найден',
|
|
})
|
|
}
|
|
|
|
res.status(400).send({
|
|
success: false, error: err.message || 'Что-то пошло не так',
|
|
})
|
|
}
|