import { createPaiement,createPaiementRedevanceByIdRedeva,getRedevancePayes,getPaiementByAbonne,createPaiementRedevanceByIdDuree,createPaiementRedevance,getpaiementsToService,getpaiementsNonService,createManyRedevanceAndPaiement, deletePaiement,getpaiementsBykey, getAllPaiements, getPaiement, updatePaiement, operationPeriode, verifyExistingFile, regenerFichierRecu } from "../controller/paiement.controller";
import { checkPermission } from "../../../middlewares/auth.middleware";

export const paiementsRoutes = (router) => {
    router.post('/api/paiements', checkPermission('AddPaiement'), createPaiement);
    router.post('/api/paie/redevance/paiements',checkPermission('AddManyRedevanceAndPaiement'), createManyRedevanceAndPaiement);
    router.post('/api/paiement_redevance',checkPermission('AddPaiementRedevance'),  createPaiementRedevance);
    router.post('/api/paiement_redevance/by/redevance/:type?',checkPermission("ViewPaiementRedevanceByDuree"),createPaiementRedevanceByIdDuree);
    router.get('/api/paiements', checkPermission('ListePaiement'), getAllPaiements);
    router.get('/api/paiements/abonne',checkPermission('ViewPaiementByAbonne'), getPaiementByAbonne);
    router.get('/api/paiements/:id',  checkPermission('ViewPaiement'),getPaiement);
   // router.get('/api/paiements/abonne/:id',checkPermission('ViewPaiementByAbonne'), getPaiementByAbonne);
    router.get('/api/paiement/with/redevance',getRedevancePayes);
    router.get('/api/paiement/with/service',checkPermission('AddPaiementService'),getpaiementsToService);
    router.get('/api/paiements/recherche/:cle',checkPermission('SearchPaiementByKey'), getpaiementsBykey);
    router.delete('/api/paiements/:id', checkPermission('DeletePaiement'), deletePaiement);
    router.put('/api/paiements/:id',checkPermission('UpdatePaiement'), updatePaiement);

    router.get('/api/paiement/operations',operationPeriode);
    router.post('/api/recu/verifyExistingFile', verifyExistingFile);
    router.post('/api/regenererfichier', regenerFichierRecu);
}
