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 || 'Что-то пошло не так',
    })
}
