package middleware import ( "authService/response" "authService/util" "authService/util/constants" "authService/validators" "github.com/gin-gonic/gin" ) func PermissionCheck(routePermission string) gin.HandlerFunc { return func(c *gin.Context) { currentUser, _ := util.GetFromGinContext[*validators.AuthUser](c, constants.UserCacheKey) if !currentUser.FullPermission { if !util.InArrayString(routePermission, currentUser.Permissions) { response.Fail(c, response.ErrPermissionNotAllowed) return } } c.Next() } }