dbHost: 'logiflow-db' } 🐳 PRODUCTION: Using standard PostgreSQL βœ… PostgreSQL connection test successful πŸ”— Database initialization: { NODE_ENV: 'production', isProduction: true, hasDbUrl: true, dbHost: 'logiflow-db:5432' } βœ… Using DatabaseStorage (production PostgreSQL) ⏰ Automatic backup scheduled for 2:00 AM daily (native timer) πŸ” Using development storage and authentication 🐳 PRODUCTION: Starting LogiFlow application 🐳 Environment: { NODE_ENV: 'production', DATABASE_URL: 'Present', PORT: '3000' } πŸ”§ Registering all production routes... πŸ”„ Running automatic production migrations... πŸ”„ MIGRATION: Starting SAV production migrations... πŸ”„ MIGRATION: Database URL configured: postgresql://logiflow_admin:Lo... βœ… MIGRATION: Connected to PostgreSQL database πŸ”„ MIGRATION: Checking if priority column exists... πŸ”„ MIGRATION: Priority column check result: 1 βœ… MIGRATION: Priority column already exists, skipping migration πŸ”Œ MIGRATION: Database connection closed πŸ”§ Using memory session store for development Warning: connect.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single process. βœ… All routes registered successfully for production 🐳 Serving static files from: /app/dist/public 🐳 PRODUCTION: LogiFlow serving on port 3000 HEAD /api/health 200 in 4ms πŸ“„ SPA: Serving index.html for /customer-orders GET /api/user 401 in 1ms πŸ“„ SPA: Serving index.html for /auth GET /api/user 401 in 3ms GET /api/user 401 in 1ms GET /api/default-credentials-check 304 in 2ms πŸ” comparePasswords: { supplied: 'HIDDEN', stored: 'b23ec450a63faf3957a1...', hasFormat: true } πŸ” Password comparison result: true POST /api/login 200 in 62ms GET /api/user 304 in 5ms GET /api/user 304 in 12ms Deliveries API called with: { startDate: undefined, endDate: undefined, storeId: undefined, withBL: undefined, userRole: 'employee' } Non-admin filtering deliveries with groupIds: [ 2 ] πŸ“Š Calcul statistiques mensuelles: { year: 2025, month: 8, startDate: '2025-08-01', endDate: '2025-09-01', groupIds: [ 2 ] } GET /api/publicities 304 in 179ms Tasks API called with: { groupIds: [ 2 ], userRole: 'employee' } Customer Orders API called with: { groupIds: [ 2 ], userRole: 'employee' } Orders API called with: { startDate: undefined, endDate: undefined, storeId: undefined, userRole: 'employee' } Non-admin filtering with groupIds: [ 2 ] GET /api/user 304 in 126ms πŸ“Š Statistiques calculΓ©es: { ordersCount: 8, deliveriesCount: 21, pendingOrdersCount: 4, averageDeliveryTime: 0.17647058823529413, totalPalettes: 57, totalPackages: 17 } Tasks returned: 9 items GET /api/stats/monthly 304 in 227ms GET /api/dlc-products/stats 304 in 206ms GET /api/tasks 304 in 203ms Customer Orders returned: 25 items GET /api/customer-orders 304 in 235ms πŸ”— PRODUCTION: getDeliveries() rΓ©cupΓ©rΓ© 38 livraisons avec relations Deliveries returned: 38 items GET /api/deliveries 304 in 281ms πŸ”— PRODUCTION: getOrders() rΓ©cupΓ©rΓ© 18 commandes avec relations Orders returned: 18 items GET /api/orders 304 in 300ms GET /api/user 304 in 8ms GET /api/publicities 304 in 25ms GET /api/groups 304 in 4ms GET /api/user 304 in 4ms GET /api/suppliers 304 in 7ms GET /api/user 304 in 3ms HEAD /api/health 200 in 1ms