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