/**
 * Middleware для проверки, является ли пользователь администратором
 * Должен использоваться после middleware авторизации (protect),
 * который добавляет req.user
 */
const adminMiddleware = (req, res, next) => {
  console.log('[DEBUG] adminMiddleware - Проверка прав администратора');
  
  // Проверяем, есть ли пользователь (должен быть добавлен в middleware авторизации)
  if (!req.user) {
    console.log('[DEBUG] adminMiddleware - req.user не найден, пользователь не авторизован');
    return res.status(401).json({ message: 'Не авторизован' });
  }

  console.log('[DEBUG] adminMiddleware - Пользователь:', {
    id: req.user._id,
    email: req.user.email,
    isAdmin: req.user.isAdmin
  });

  // Проверяем, является ли пользователь администратором
  if (!req.user.isAdmin) {
    console.log('[DEBUG] adminMiddleware - Доступ запрещен. У пользователя нет прав администратора');
    return res.status(403).json({ message: 'Доступ запрещен. Требуются права администратора' });
  }

  console.log('[DEBUG] adminMiddleware - Пользователь является администратором, доступ разрешен');
  // Если пользователь администратор, продолжаем выполнение запроса
  next();
};

module.exports = adminMiddleware;