const FinancialTransactionCtrl = require('../controllers/financial-transaction');

const financialTransactionRoutes = (router) => {
    const financialTransactionCtrl = new FinancialTransactionCtrl();

    router.route('/test').get(financialTransactionCtrl.test);

    // ReportController
    router.route('/report/user').get(financialTransactionCtrl.user);
    router.route('/report/waybill').get(financialTransactionCtrl.waybill);
    router.route('/report/waybillByDate').get(financialTransactionCtrl.waybillByDate);
    router.route('/report/allTransactions').get(financialTransactionCtrl.allTransactions);

    // TicketController
    router.route('/ticket/routeTypes').get(financialTransactionCtrl.routeTypes);
    router.route('/ticket/routes').get(financialTransactionCtrl.routes);
    router.route('/ticket/riders').get(financialTransactionCtrl.riders);
    router.route('/ticket/ridersVerify').get(financialTransactionCtrl.ridersVerify);
    router.route('/ticket/tripRoutes').get(financialTransactionCtrl.tripRoutes);
    router.route('/ticket/tripStops').get(financialTransactionCtrl.tripStops);
    router.route('/ticket/trip').get(financialTransactionCtrl.trip);
    router.route('/ticket/luggage').get(financialTransactionCtrl.luggage);
    router.route('/ticket/seat').get(financialTransactionCtrl.seat);
    router.route('/ticket/ride').get(financialTransactionCtrl.ride);
    router.route('/ticket/checkout').post(financialTransactionCtrl.checkout);
    router.route('/ticket/checkoutItem').post(financialTransactionCtrl.checkoutItem);
    router.route('/ticket/hotlist').post(financialTransactionCtrl.hotlist);
    router.route('/ticket/products').get(financialTransactionCtrl.products);
    router.route('/ticket/cardTran').post(financialTransactionCtrl.cardTransaction);
    router.route('/ticket/refund').post(financialTransactionCtrl.refund);
    router.route('/ticket/translations').get(financialTransactionCtrl.translations);
    router.route('/ticket/accountLanguages').get(financialTransactionCtrl.accountLanguages);
    router.route('/ticket/searchQr').post(financialTransactionCtrl.searchQr);
    router.route('/ticket/readSmartCard').get(financialTransactionCtrl.readSmartCard);
    router.route('/ticket/initializeSmartCard').post(financialTransactionCtrl.initializeSmartCard);
    router.route('/ticket/actionListSmartCard').post(financialTransactionCtrl.actionListSmartCard);
    router.route('/ticket/actionListSmartCardHotlistReasons').get(financialTransactionCtrl.actionListSmartCardHotlistReasons);
    router.route('/ticket/smartCardRemoveProductReasons').get(financialTransactionCtrl.smartCardRemoveProductReasons);
    router.route('/ticket/blockSmartCard').post(financialTransactionCtrl.blockSmartCard);
    router.route('/ticket/unblockSmartCard').post(financialTransactionCtrl.unblockSmartCard);
    router.route('/ticket/removeContractSmartCard').post(financialTransactionCtrl.removeContractSmartCard);
    router.route('/ticket/changeRiderTypeSmartCard').post(financialTransactionCtrl.changeRiderTypeSmartCard);
    router.route('/ticket/getSmartCard').post(financialTransactionCtrl.getSmartCard);
    router.route('/ticket/getSmartCardByPrintedId').post(financialTransactionCtrl.getSmartCardByPrintedId);
    router.route('/ticket/getSmartCardProfiles').get(financialTransactionCtrl.getSmartCardProfiles);

    router.route('/ticket/createCardHolder').post(financialTransactionCtrl.createCardHolder);
    router.route('/ticket/getCardHolderById').get(financialTransactionCtrl.getCardHolderById);
    router.route('/ticket/getCardHolderByIdentificationId').get(financialTransactionCtrl.getCardHolderByIdentificationId);
    router.route('/ticket/getCardHolderByPhoneNumber').get(financialTransactionCtrl.getCardHolderByPhoneNumber);
    router.route('/ticket/getCardHolderByEmailAddress').get(financialTransactionCtrl.getCardHolderByEmailAddress);
    router.route('/ticket/getCardHolderBySmartCardUId').get(financialTransactionCtrl.getCardHolderBySmartCardUId);
    router.route('/ticket/getCardHolderPhoto').get(financialTransactionCtrl.getCardHolderPhoto);
    router.route('/ticket/uploadCardHolderPhoto').post(financialTransactionCtrl.uploadCardHolderPhoto);
    router.route('/ticket/getCardHolderIdentityProof').get(financialTransactionCtrl.getCardHolderIdentityProof);
    router.route('/ticket/uploadCardHolderIdentityProof').post(financialTransactionCtrl.uploadCardHolderIdentityProof);
    router.route('/ticket/registerCardHolderToSmartCard').post(financialTransactionCtrl.registerCardHolderToSmartCard);
    router.route('/ticket/updateCardHolder').post(financialTransactionCtrl.updateCardHolder);
    router.route('/ticket/recreateSmartCard').post(financialTransactionCtrl.recreateSmartCard);
    router.route('/ticket/replaceSmartCard').post(financialTransactionCtrl.replaceSmartCard);
    router.route('/ticket/getCardPurchases').get(financialTransactionCtrl.getCardPurchases);
    router.route('/ticket/getCardRides').get(financialTransactionCtrl.getCardRides);
    router.route('/ticket/getTicketCustomParameters').get(financialTransactionCtrl.getTicketCustomParameters);
}

module.exports = financialTransactionRoutes;
