Files
projet_gestion_commande/backend/gestion/middleware/clock_middleware.go
T
2026-03-03 23:42:23 +01:00

40 lines
934 B
Go

package middleware
import (
"log"
"net/http"
"time"
"github.com/gin-gonic/gin"
)
func OrderHoursMiddleware(c *gin.Context) {
loc, err := time.LoadLocation("Europe/Paris")
if err != nil {
loc = time.UTC
}
now := time.Now().In(loc)
hour := now.Hour()
min := now.Minute()
currentMinutes := hour*60 + min
openMinutes := 13*60 + 55
closeMinutes := 23*60 + 30
if currentMinutes < openMinutes || currentMinutes >= closeMinutes {
log.Printf("❌ [CLOCK-MWARE] Commande refusée à %02d:%02d (plage autorisée: 13h55 - 23h30)", hour, min)
c.JSON(http.StatusForbidden, gin.H{
"error": "Commandes non disponibles à cette heure",
"message": "Vous pouvez commander entre 13h55 et 23h30",
"current_time": now.Format("15:04"),
"open_at": "13:55",
"close_at": "23:30",
})
c.Abort()
return
}
log.Printf("✅ [CLOCK-MWARE] Commande autorisée à %02d:%02d", hour, min)
c.Next()
}