forked from StellarEdu/StellarEduPay
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfix-routes.js
More file actions
46 lines (45 loc) · 1.59 KB
/
Copy pathfix-routes.js
File metadata and controls
46 lines (45 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const fs = require('fs');
const content = [
"'use strict';",
"",
"const express = require('express');",
"const router = express.Router();",
"const {",
" getPaymentInstructions,",
" createPaymentIntent,",
" verifyPayment,",
" syncAllPayments,",
" finalizePayments,",
" getStudentPayments,",
" getAcceptedAssets,",
" getOverpayments,",
" getStudentBalance,",
" getSuspiciousPayments,",
" getPendingPayments,",
" getRetryQueue,",
"} = require('../controllers/paymentController');",
"const { validateStudentIdParam, validateVerifyPayment } = require('../middleware/validate');",
"const idempotency = require('../middleware/idempotency');",
"",
"// Static routes first (before :studentId wildcard)",
"router.get('/accepted-assets', getAcceptedAssets);",
"router.get('/overpayments', getOverpayments);",
"router.get('/suspicious', getSuspiciousPayments);",
"router.get('/pending', getPendingPayments);",
"router.get('/retry-queue', getRetryQueue);",
"router.get('/balance/:studentId', validateStudentIdParam, getStudentBalance);",
"router.get('/instructions/:studentId', validateStudentIdParam, getPaymentInstructions);",
"router.get('/:studentId', validateStudentIdParam, getStudentPayments);",
"",
"// Idempotency enforced on mutating endpoints",
"router.post('/intent', idempotency, createPaymentIntent);",
"router.post('/verify', idempotency, verifyPayment);",
"",
"// Admin/internal",
"router.post('/sync', syncAllPayments);",
"router.post('/finalize', finalizePayments);",
"",
"module.exports = router;",
].join('\n');
fs.writeFileSync('backend/src/routes/paymentRoutes.js', content, 'utf8');
console.log('OK');