feat: add pending student registration flow and pricing APIs.

Support public class lookup, user provisioning, installment pricing, and admin approval before final enrollment.
This commit is contained in:
2026-08-16 08:42:25 +03:30
parent fafc362689
commit cd98adff84
13 changed files with 678 additions and 3 deletions
@@ -0,0 +1,38 @@
'use strict';
const express = require('express');
const pendingStudentController = require('./pendingStudentController');
const authMiddleware = require('../../middlewares/authMiddleware');
const perm = require('../../middlewares/permissionMiddleware');
const { PERMISSIONS } = require('../../constants/permissions');
const router = express.Router();
router.get('/public/pricing', pendingStudentController.getPricing);
router.post('/public/ensure-user', pendingStudentController.ensureUser);
router.post('/public/complete', pendingStudentController.completeAfterPayment);
router.use(authMiddleware);
router.get(
'/admin/get-all',
perm.requires(PERMISSIONS.PENDING_STUDENTS_READ),
pendingStudentController.getAll
);
router.get(
'/admin/get-one/:id',
perm.requires(PERMISSIONS.PENDING_STUDENTS_READ),
pendingStudentController.getOne
);
router.post(
'/admin/:id/approve',
perm.requires(PERMISSIONS.PENDING_STUDENTS_UPDATE),
pendingStudentController.approve
);
router.post(
'/admin/:id/reject',
perm.requires(PERMISSIONS.PENDING_STUDENTS_UPDATE),
pendingStudentController.reject
);
module.exports = router;