{"message":"API Restaurant - Backend fonctionnel","version":"1.0.0","endpoints":{"menu_complet":"GET /api/menu-complet","categories":{"all":"GET /api/categories","racine":"GET /api/categories/racine","byId":"GET /api/categories/:id","sousCategories":"GET /api/categories/:idParent/sous-categories","create":"POST /api/categories","update":"PUT /api/categories/:id","delete":"DELETE /api/categories/:id"},"produits":{"byCategorie":"GET /api/categories/:categorieId/produits","byId":"GET /api/produits/:id","create":"POST /api/produits","update":"PUT /api/produits/:id","delete":"DELETE /api/produits/:id"},"steps":{"byProduit":"GET /api/produits/:produitId/steps","create":"POST /api/steps","update":"PUT /api/steps/:id","delete":"DELETE /api/steps/:id"},"elements":{"byStep":"GET /api/steps/:stepId/elements","create":"POST /api/step-elements","update":"PUT /api/step-elements/:id","delete":"DELETE /api/step-elements/:id"},"upload":{"uploadImage":"POST /api/upload/:type (multipart/form-data with \"image\" field)","listImages":"GET /api/upload/:type","deleteImage":"DELETE /api/upload/:type/:filename","types":["categories","produits","elements"],"staticFiles":"GET /uploads/:type/:filename"},"orders":{"create":"POST /orders","getAll":"GET /orders","getCuisine":"GET /orders/cuisine","updatePayment":"PATCH /orders/:id","update":"PUT /orders/:id","updateItemEtat":"PATCH /orders/items/:itemId/etat"},"caissiers":{"getAll":"GET /caissiers","getById":"GET /caissiers/:id","create":"POST /caissiers","update":"PUT /caissiers/:id","delete":"DELETE /caissiers/:id","login":"POST /caissiers/login"},"sliders":{"getAll":"GET /api/sliders","getActive":"GET /api/sliders/actifs","getById":"GET /api/sliders/:id","create":"POST /api/sliders","update":"PUT /api/sliders/:id","delete":"DELETE /api/sliders/:id","updateOrder":"PATCH /api/sliders/:id/ordre","toggleStatus":"PATCH /api/sliders/:id/toggle"},"theme_caisse":{"get":"GET /api/theme-caisse","update":"PUT /api/theme-caisse","patch":"PATCH /api/theme-caisse"},"theme_mobile":{"get":"GET /api/theme-mobile","update":"PUT /api/theme-mobile","patch":"PATCH /api/theme-mobile"},"clients":{"register":"POST /api/clients/register","login":"POST /api/clients/login","getAll":"GET /api/clients","getById":"GET /api/clients/:id","update":"PUT /api/clients/:id","delete":"DELETE /api/clients/:id","addPoints":"POST /api/clients/:id/points/add","removePoints":"POST /api/clients/:id/points/remove"},"fidelite_config":{"get":"GET /api/fidelite-config","update":"PUT /api/fidelite-config","toggle":"PATCH /api/fidelite-config/toggle","calculateValue":"GET /api/fidelite-config/calculate-value?points=100","calculatePoints":"GET /api/fidelite-config/calculate-points?amount=10"},"statistics":{"general":"GET /api/statistics/general?startDate=&endDate=","supportVente":"GET /api/statistics/support-vente?startDate=&endDate=","saleMode":"GET /api/statistics/sale-mode?startDate=&endDate=","categories":"GET /api/statistics/categories?startDate=&endDate=","products":"GET /api/statistics/products?startDate=&endDate=&limit=20","daily":"GET /api/statistics/daily?startDate=&endDate=","hourly":"GET /api/statistics/hourly?startDate=&endDate=","paymentMode":"GET /api/statistics/payment-mode?startDate=&endDate="}}}