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;