import { Router } from 'express';
import protectAdmin from '../middlewares/protectAdmin';
import {
  createReward,
  updateReward,
  deleteReward,
  listRewards,
} from '../controllers/rewardAdminController';
import uploadImage from '../middlewares/uploadImage';
import {
  approveRedemption,
  rejectRedemption,
  listRedemptions,
} from '../controllers/rewardRedemptionAdminController';
const router = Router();

// Admin: List all reward redemptions
router.get('/rewards/redemptions', protectAdmin, listRedemptions);
// Admin: Approve a reward redemption
router.post('/rewards/redemptions/:id/approve', protectAdmin, approveRedemption);
// Admin: Reject a reward redemption
router.post('/rewards/redemptions/:id/reject', protectAdmin, rejectRedemption);
// Admin: Create a new reward (allow file upload)
router.post('/rewards', protectAdmin, uploadImage.single('image'), createReward);
// Admin: Update a reward
router.put('/rewards/:id', protectAdmin, updateReward);
// Admin: Delete a reward
router.delete('/rewards/:id', protectAdmin, deleteReward);
// Admin: List all rewards
router.get('/rewards', protectAdmin, listRewards);

export default router;
