const AcademyCategoryModel = require('../../models/AcademyCategoryModel');

// دریافت همه دسته‌بندی‌های اکادمی
exports.getAll = async (req, res) => {
  try {
    const categories = await AcademyCategoryModel.find({}).sort({ createdAt: -1 });
    res.json({ success: true, data: categories });
  } catch (error) {
    res.status(500).json({ success: false, message: error.message });
  }
};

// ایجاد دسته‌بندی جدید
exports.create = async (req, res) => {
  try {
    const { title } = req.body;
    if (!title) return res.status(400).json({ success: false, message: "عنوان الزامی است" });

    const category = await AcademyCategoryModel.create({ title });
    res.status(201).json({ success: true, message: "دسته‌بندی ایجاد شد", data: category });
  } catch (error) {
    res.status(500).json({ success: false, message: error.message });
  }
};

// ویرایش دسته‌بندی
exports.update = async (req, res) => {
  try {
    const { id } = req.params;
    const { title, status } = req.body;

    const category = await AcademyCategoryModel.findByIdAndUpdate(id, { title, status }, { new: true });
    if (!category) return res.status(404).json({ success: false, message: "دسته‌بندی یافت نشد" });

    res.json({ success: true, message: "دسته‌بندی ویرایش شد", data: category });
  } catch (error) {
    res.status(500).json({ success: false, message: error.message });
  }
};

// حذف دسته‌بندی
exports.remove = async (req, res) => {
  try {
    const { id } = req.params;
    await AcademyCategoryModel.findByIdAndDelete(id);
    res.json({ success: true, message: "دسته‌بندی حذف شد" });
  } catch (error) {
    res.status(500).json({ success: false, message: error.message });
  }
};