You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

94 lines
6.6 KiB

const express = require('express');
const authMiddleware = require('../middleware/authMiddleware');
const userController = require('../controllers/UserController');
const staffController = require('../controllers/staffsController');
const emplacementController = require('../controllers/emplacementController');
const compartimentController = require('../controllers/compartimentController');
const stockController = require('../controllers/stockController');
const fournisseurController = require('../controllers/FournisseurController');
const reservationController = require('../controllers/ReservationController');
const financesController = require('../controllers/FinancesController');
const CustomersController = require('../controllers/CustomersController');
const SettingsController = require('../controllers/SettingsController');
const ModulesController = require('../controllers/ModulesController');
const TablesController = require('../controllers/TablesController');
const TransactionsController = require('../controllers/TransactionsController');
const router = express.Router();
router.get('/profile', authMiddleware(), userController.getProfile);
router.get('/admin', authMiddleware('admin'), userController.getAdminPage);
router.post('/create', authMiddleware('admin'), userController.createUser);
router.post('/create/emplacement', authMiddleware(), emplacementController.createEmplacement);
router.get('/emplacements', authMiddleware(), emplacementController.getEmplacements);
router.get('/emplacement/:id', authMiddleware(), emplacementController.getEmplacementById);
router.get('/compartiments', authMiddleware(), compartimentController.getCompartiments);
router.post('/create/compartiment', authMiddleware(), compartimentController.createCompartiment);
router.post('/create/ingredient', authMiddleware(), stockController.createIngredient);
router.get('/ingredients/inventaire', authMiddleware(), stockController.getIngredientsInventaire);
router.get('/ingredients/emplacement', authMiddleware(), stockController.getIngredientsEmplacements);
router.post('/create/fournisseur', authMiddleware(), fournisseurController.createFournisseur);
router.get('/fournisseurs', authMiddleware(), fournisseurController.getFournisseurs);
router.get('/staffs', authMiddleware(), staffController.index);
router.get('/staffs/create', authMiddleware('admin'), staffController.create);
router.post('/staffs/store', authMiddleware('admin'), staffController.store);
router.get('/staffs/:id/edit', authMiddleware(), staffController.edit);
router.post('/staffs/:id/update', authMiddleware('admin'), staffController.update);
router.get('/staffs/:id/contact', authMiddleware(), staffController.contact);
router.get('/staffs/:employeId/statut/:date', authMiddleware(), staffController.calculerStatutEmploye);
router.get('/reservations', authMiddleware(), reservationController.index); // équivalent de $routes->get('/reservations', ...)
router.get('/reservations/ajax', authMiddleware(), reservationController.getReservationsAjax); // si cette méthode existe
router.get('/reservations/create', authMiddleware(), reservationController.create);
router.post('/reservations/store', authMiddleware(), reservationController.store);
router.get('/reservations/:id/edit', authMiddleware(), reservationController.edit);
router.put('/reservations/:id', authMiddleware(), reservationController.update);
router.delete('/reservations/:id', authMiddleware(), reservationController.destroy);
router.get('/finances', authMiddleware(), financesController.getDashboard);
router.post('/finances/invoices', authMiddleware(), financesController.generateInvoice);
router.post('/finances/payments', authMiddleware(), financesController.processPayment);
router.get('/finances/taxes', authMiddleware(), financesController.getTaxes);
router.post('/finances/taxes', authMiddleware(), financesController.createOrUpdateTax);
router.delete('/finances/taxes/:id', authMiddleware(), financesController.disableTax);
router.get('/customers',authMiddleware(), CustomersController.index); // Liste des clients
router.get('/customers/new', (req, res) => res.send('Formulaire nouveau client')); // Optionnel
router.post('/customers/save', authMiddleware(), CustomersController.save); // Enregistrer un client
router.get('/customers/:id',authMiddleware(), CustomersController.show);
router.get('customers/:id/edit', authMiddleware(), CustomersController.edit);
router.put('customers/:id/uptade',authMiddleware(), CustomersController.update);
router.delete('customers/:id/delete',authMiddleware(), CustomersController.delete);
router.get('/settings', authMiddleware(), SettingsController.getSettingsPage);
router.post('/settings/restaurant', authMiddleware(), SettingsController.updateRestaurantInfo);
router.post('/settings/opening-hours', authMiddleware(), SettingsController.updateOpeningHours);
router.post('/settings/notifications', authMiddleware(), SettingsController.updateNotifications);
router.get('/settings/users/new', authMiddleware(), SettingsController.addUser);
router.post('/settings/users', authMiddleware(), SettingsController.saveUser);
router.get('/settings/users/:id/edit', authMiddleware(), SettingsController.editUser);
router.put('/settings/users/:id', authMiddleware(), SettingsController.updateUser);
router.delete('/settings/users/:id', authMiddleware(), SettingsController.deleteUser);
router.post('/settings/change-password', authMiddleware(), SettingsController.changePassword);
router.post('/settings/two-factor', authMiddleware(), SettingsController.toggleTwoFactorAuth);
router.get('/settings/integrations/booking', authMiddleware(), SettingsController.connectBooking);
router.get('/settings/integrations/quickbooks', authMiddleware(), SettingsController.connectQuickbooks);
router.get('/settings/integrations/stripe', authMiddleware(), SettingsController.connectStripe);
router.get('/settings/modules', authMiddleware(), SettingsController.getModules);
router.get('/modules', authMiddleware(), ModulesController.index);
router.post('/modules/toggle', authMiddleware(), ModulesController.toggle);
router.get('/tables', authMiddleware(), TablesController.index);
router.get('/tables/create', authMiddleware(), TablesController.create);
router.post('/tables', authMiddleware(), TablesController.store);
router.get('/tables/:id/edit', authMiddleware(), TablesController.edit);
router.post('/tables/:id/update', authMiddleware(), TablesController.update);
router.post('/tables/:id/delete', authMiddleware(), TablesController.delete);
router.get('/tables/:id', authMiddleware(), TablesController.show);
router.get('/transactions', authMiddleware(), TransactionsController.index);
module.exports = router;