package middleware import ( "net/http" "git.gocasts.ir/ebhomengo/niki/entity" "git.gocasts.ir/ebhomengo/niki/pkg/claim" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" "github.com/labstack/echo/v4" ) // nolint func BenefactorAuthorization(role entity.UserRole) echo.MiddlewareFunc { return func(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { claims := claim.GetClaimsFromEchoContext(c) if claims.Role != role.String() { return c.JSON(http.StatusForbidden, echo.Map{"message": errmsg.ErrorMsgUserNotAllowed}) } return next(c) } } }