Files
starr-philproperties/routes/admin/tiers.routes.js
T
kennethobsequio 1372f4e975 testing 101
Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
2026-06-30 19:31:45 +08:00

35 lines
1.6 KiB
JavaScript

const express = require('express');
const router = express.Router();
const ctrl = require('../../controllers/admin/tiers.controller');
const priceCtrl = require('../../controllers/admin/plan_prices.controller');
router.get ('/', ctrl.getPlans);
router.post ('/', ctrl.createPlan);
router.get ('/field-values', ctrl.getPlanFieldValues);
router.post ('/bulk/archive', ctrl.bulkArchivePlans);
router.post ('/bulk/restore', ctrl.bulkRestorePlans);
router.get ('/payments/field-values', ctrl.getPaymentFieldValues);
router.get ('/payments', ctrl.getPayments);
router.get ('/payments/:id', ctrl.getPayment);
router.get ('/users/:id/tiers', ctrl.getUserTiers);
router.post ('/users/tiers/grant', ctrl.grantTier);
router.patch ('/users/tiers/:tid/revoke', ctrl.revokeTier);
// ← course + impact + prices routes before /:id
router.get ('/:id/impact', ctrl.getPlanImpact);
router.get ('/:id/courses', ctrl.getPlanCourses);
router.post ('/:id/courses', ctrl.syncPlanCourses);
router.get ('/:id/prices', priceCtrl.getPrices);
router.post ('/:id/prices', priceCtrl.addPrice);
router.put ('/:id/prices/:currency', priceCtrl.updatePrice);
router.delete('/:id/prices/:currency', priceCtrl.removePrice);
router.get ('/:id', ctrl.getPlan);
router.put ('/:id', ctrl.updatePlan);
router.delete('/:id', ctrl.archivePlan);
router.post ('/:id/restore', ctrl.restorePlan);
module.exports = router;