38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = function (app) {
|
|
const router = require('express').Router(),
|
|
mailer = require('../helpers/mailer'),
|
|
mainCtl = require('../controllers/main');
|
|
|
|
router.get('/appConfig', mainCtl.getAppConfig_get);
|
|
|
|
router.post('/appConfig', mainCtl.setAppConfig_post);
|
|
|
|
router.post('/siteVer', mainCtl.getSiteVer_post);
|
|
|
|
router.post('/sendTestMail', mailer.sendTestMail);
|
|
|
|
router.get('/ping', mainCtl.pingAPI_get);
|
|
|
|
// ========== Subscription Promo Routes ==========
|
|
// Public: Get active promos for front-end display
|
|
router.get('/activePromos', mainCtl.getActivePromos_get);
|
|
|
|
// Admin: Full promo management
|
|
router.get('/admin/subscriptionPromos', mainCtl.getSubscriptionPromos_get);
|
|
router.get('/admin/subscriptionPromos/coupons', mainCtl.getForeverCoupons_get);
|
|
router.post('/admin/subscriptionPromos', mainCtl.setSubscriptionPromos_post);
|
|
router.post('/admin/subscriptionPromos/add', mainCtl.addSubscriptionPromo_post);
|
|
router.put('/admin/subscriptionPromos/:id', mainCtl.updateSubscriptionPromo_put);
|
|
router.delete('/admin/subscriptionPromos/:id', mainCtl.deleteSubscriptionPromo_delete);
|
|
|
|
// router.get('/longOp', mainCtl.doLongOp_post);
|
|
// router.get('/check', (req, res) => {
|
|
// res.send("OK").end();
|
|
// });
|
|
router.get('/testIP', (request, response) => response.send(request.ip))
|
|
|
|
app.use('/api', router);
|
|
}
|