forked from ebhomengo/niki
1
0
Fork 0
niki/delivery/http_server/middleware/benefactor_authorization.go

25 lines
596 B
Go

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)
}
}
}