feat: Release version 3.1.4 - Mode terrain et génération PDF
✨ Nouvelles fonctionnalités: - Ajout du mode terrain pour utilisation mobile hors connexion - Génération automatique de reçus PDF avec template personnalisé - Révision complète du système de cartes avec amélioration des performances 🔧 Améliorations techniques: - Refactoring du module chat avec architecture simplifiée - Optimisation du système de sécurité NIST SP 800-63B - Amélioration de la gestion des secteurs géographiques - Support UTF-8 étendu pour les noms d'utilisateurs 📱 Application mobile: - Nouveau mode terrain dans user_field_mode_page - Interface utilisateur adaptative pour conditions difficiles - Synchronisation offline améliorée 🗺️ Cartographie: - Optimisation des performances MapBox - Meilleure gestion des tuiles hors ligne - Amélioration de l'affichage des secteurs 📄 Documentation: - Ajout guide Android (ANDROID-GUIDE.md) - Documentation sécurité API (API-SECURITY.md) - Guide module chat (CHAT_MODULE.md) 🐛 Corrections: - Résolution des erreurs 400 lors de la création d'utilisateurs - Correction de la validation des noms d'utilisateurs - Fix des problèmes de synchronisation chat 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -34,13 +34,14 @@ class Router {
|
||||
$this->post('log', ['LogController', 'index']);
|
||||
|
||||
// Routes privées utilisateurs
|
||||
// IMPORTANT: Les routes spécifiques doivent être déclarées AVANT les routes avec paramètres
|
||||
$this->post('users/check-username', ['UserController', 'checkUsername']); // Déplacé avant les routes avec :id
|
||||
$this->get('users', ['UserController', 'getUsers']);
|
||||
$this->get('users/:id', ['UserController', 'getUserById']);
|
||||
$this->post('users', ['UserController', 'createUser']);
|
||||
$this->put('users/:id', ['UserController', 'updateUser']);
|
||||
$this->delete('users/:id', ['UserController', 'deleteUser']);
|
||||
$this->post('users/:id/reset-password', ['UserController', 'resetPassword']);
|
||||
$this->post('users/check-username', ['UserController', 'checkUsername']);
|
||||
$this->post('logout', ['LoginController', 'logout']);
|
||||
|
||||
// Routes entités
|
||||
@@ -69,6 +70,7 @@ class Router {
|
||||
// Routes passages
|
||||
$this->get('passages', ['PassageController', 'getPassages']);
|
||||
$this->get('passages/:id', ['PassageController', 'getPassageById']);
|
||||
$this->get('passages/:id/receipt', ['PassageController', 'getReceipt']);
|
||||
$this->get('passages/operation/:operation_id', ['PassageController', 'getPassagesByOperation']);
|
||||
$this->post('passages', ['PassageController', 'createPassage']);
|
||||
$this->put('passages/:id', ['PassageController', 'updatePassage']);
|
||||
@@ -97,6 +99,25 @@ class Router {
|
||||
$this->post('password/check', ['PasswordController', 'checkStrength']);
|
||||
$this->post('password/compromised', ['PasswordController', 'checkCompromised']);
|
||||
$this->get('password/generate', ['PasswordController', 'generate']);
|
||||
|
||||
// Routes du module Chat
|
||||
$this->get('chat/rooms', ['ChatController', 'getRooms']);
|
||||
$this->post('chat/rooms', ['ChatController', 'createRoom']);
|
||||
$this->get('chat/rooms/:id/messages', ['ChatController', 'getRoomMessages']);
|
||||
$this->post('chat/rooms/:id/messages', ['ChatController', 'sendMessage']);
|
||||
$this->post('chat/rooms/:id/read', ['ChatController', 'markAsRead']);
|
||||
$this->get('chat/recipients', ['ChatController', 'getRecipients']);
|
||||
|
||||
// Routes du module Sécurité (Admin uniquement)
|
||||
$this->get('admin/metrics', ['SecurityController', 'getMetrics']);
|
||||
$this->get('admin/alerts', ['SecurityController', 'getAlerts']);
|
||||
$this->post('admin/alerts/:id/resolve', ['SecurityController', 'resolveAlert']);
|
||||
$this->get('admin/blocked-ips', ['SecurityController', 'getBlockedIPs']);
|
||||
$this->post('admin/unblock-ip', ['SecurityController', 'unblockIP']);
|
||||
$this->post('admin/block-ip', ['SecurityController', 'blockIP']);
|
||||
$this->get('admin/security-report', ['SecurityController', 'getSecurityReport']);
|
||||
$this->post('admin/cleanup', ['SecurityController', 'cleanup']);
|
||||
$this->post('admin/test-alert', ['SecurityController', 'testAlert']);
|
||||
}
|
||||
|
||||
public function handle(): void {
|
||||
|
||||
Reference in New Issue
Block a user