module.exports = function (app) { const express = require('express'), router = express.Router(), memberCtl = require('../controllers/subscription'); /* Subcription routes & handlers here */ router.get('/', memberCtl.getCustSubscriptions_get); router.get('/config', memberCtl.apiConfig_get); router.get('/prices', memberCtl.getPrices_get); router.route('/billAddress/:userId') .get(memberCtl.getBillAddress_get) .put(memberCtl.updateBillAddress_put) router.route('/paymentMethods/:custId') .all(memberCtl.hasApplVendor) .get(memberCtl.paymentMethods_get) .put(memberCtl.updateCustPaymentMethod_put) .post(memberCtl.addCustPaymentMethod_post) .delete(memberCtl.deleteCustPaymentMethod) router.route('/paymentMethods/:custId/getDefault') .get(memberCtl.getCustDefaultPaymentMethod_get) router.get('/getCoupon/:coupon', memberCtl.getCoupon_get); router.post('/setSubsPaymentMethod', memberCtl.setSubsPaymentMethod_post); router.post('/setSubsSettings', memberCtl.setSubsSettings_post); router.post('/update', memberCtl.updateSubscriptions_post); router.post('/setupCard', memberCtl.setupCardAuthentication_post); router.post('/retrieveNextInvoices', memberCtl.retrieveNextInvoices_post); router.post('/resumeUnpaidSub', memberCtl.resolveUnpaidSubcriptions_post); router.post('/payInvoice', memberCtl.payInvoice_post); router.post('/finalizeCustDraftInvoices', memberCtl.finalizeCustDraftInvoices_post); router.post('/custInvoices', memberCtl.customerInvoices_post); router.post('/custCharges', memberCtl.getCustomerCharges_post); router.post('/custUsages', memberCtl.getCustomerUsages_post); router.post('/subBillPeriods', memberCtl.getSubBillPeriods_post); router.get('/status/:subscriptionId', memberCtl.checkSubscriptionStatus); app.use('/api/subscription', router); };