Files
starr-philproperties/apps/api/routes/admin/tiers.routes.js
T

37 lines
1.9 KiB
JavaScript

const express = require('express');
const router = express.Router();
const ctrl = require('../../controllers/admin/tiers.controller');
router.get ('/currencies', ctrl.getCurrencies);
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.post ('/bulk/permanent-delete', ctrl.bulkPermanentlyDeletePlans);
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/unit/lesson + impact routes before /:id
router.get ('/:id/impact', ctrl.getPlanImpact);
router.get ('/:id/permanent-delete-impact', ctrl.getPlanPermanentDeleteImpact);
router.get ('/:id/courses', ctrl.getPlanCourses);
router.post ('/:id/courses', ctrl.syncPlanCourses);
router.get ('/:id/units', ctrl.getPlanUnits);
router.post ('/:id/units', ctrl.syncPlanUnits);
router.get ('/:id/lessons', ctrl.getPlanLessons);
router.post ('/:id/lessons', ctrl.syncPlanLessons);
router.get ('/:id', ctrl.getPlan);
router.put ('/:id', ctrl.updatePlan);
router.delete('/:id', ctrl.archivePlan);
router.post ('/:id/restore', ctrl.restorePlan);
router.delete('/:id/permanent', ctrl.permanentlyDeletePlan);
module.exports = router;