Documentation ¶
Index ¶
- type AddRolePermission
- type FiPer
- func (g *FiPer) AddPermission(permission FiperPermission) (FiperPermission, error)
- func (g *FiPer) AddRole(role FiperRole) (FiperRole, error)
- func (g *FiPer) AddRolePermission(arp AddRolePermission) (rolePermission FiperRolePermission, err error)
- func (g *FiPer) CheckFiPer(rbacList []string) fiber.Handler
- func (g *FiPer) DeletePermission(permissionModel, permissionAction string) (err error)
- func (g *FiPer) DeleteRole(roleName string) (err error)
- func (g *FiPer) DeleteRolePermission(roleName, permissionModel, permissionAction string) (err error)
- func (g *FiPer) GetPermissions() (permissions []FiperPermission, err error)
- func (g *FiPer) GetRolePermissions() (rolePermissions []FiperRolePermission, err error)
- func (g *FiPer) GetRoles() (roles []FiperRole, err error)
- func (g *FiPer) GetUserPermits(userId string) (permits Permits, err error)
- func (g *FiPer) GrantUserPermission(userId, permissionModel, permissionAction string) (permits Permits, err error)
- func (g *FiPer) GrantUserRole(userId, roleName string) (permits Permits, err error)
- func (g *FiPer) MigrateTables() (err error)
- func (g *FiPer) RevokeUserPermit(userId, permit string) (permits Permits, err error)
- func (g *FiPer) ValidatePermits(userPermits datatypes.JSON) error
- type FiperPermission
- type FiperRole
- type FiperRolePermission
- type Permits
- type UserPermit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddRolePermission ¶
AddRolePermission represents a model used to store RolePermission
type FiPer ¶
func (*FiPer) AddPermission ¶
func (g *FiPer) AddPermission(permission FiperPermission) (FiperPermission, error)
AddPermission - stores a permission in the database
func (*FiPer) AddRolePermission ¶
func (g *FiPer) AddRolePermission(arp AddRolePermission) (rolePermission FiperRolePermission, err error)
AddRolePermission - stores a role permission in the database
func (*FiPer) CheckFiPer ¶
func (*FiPer) DeletePermission ¶
DeletePermission - removes a stored permission from database
func (*FiPer) DeleteRole ¶
DeleteRole - removes a stored role from database
func (*FiPer) DeleteRolePermission ¶
func (g *FiPer) DeleteRolePermission(roleName, permissionModel, permissionAction string) (err error)
DeleteRolePermission - removes a stored role permission from database
func (*FiPer) GetPermissions ¶
func (g *FiPer) GetPermissions() (permissions []FiperPermission, err error)
GetPermissions - get stored permissions in the database
func (*FiPer) GetRolePermissions ¶
func (g *FiPer) GetRolePermissions() (rolePermissions []FiperRolePermission, err error)
GetRolePermissions - get stored role permissions in the database
func (*FiPer) GetUserPermits ¶
GetUserPermits - get user roles and permissions in the database
func (*FiPer) GrantUserPermission ¶
func (g *FiPer) GrantUserPermission(userId, permissionModel, permissionAction string) (permits Permits, err error)
GrantUserPermission - grant user permission in the database
func (*FiPer) GrantUserRole ¶
GrantUserRole - grant user role in the database
func (*FiPer) MigrateTables ¶
func (*FiPer) RevokeUserPermit ¶
RevokeUserPermit - revoke user role and permission in the database
type FiperPermission ¶
type FiperPermission struct { ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()"` Model string `gorm:"not null"` Action string `gorm:"not null"` }
Permission represents the database model of permissions
type FiperRole ¶
type FiperRole struct { ID uuid.UUID `gorm:"primaryKey;type:uuid;default:uuid_generate_v4()"` Name string `gorm:"unique;not null"` }
Role represents the database model of roles
type FiperRolePermission ¶
type FiperRolePermission struct { RoleID uuid.UUID `json:"-" gorm:"primaryKey;type:uuid"` Role *FiperRole `gorm:"foreignKey:RoleID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"` PermissionID uuid.UUID `json:"-" gorm:"primaryKey;type:uuid"` Permission *FiperPermission `gorm:"foreignKey:PermissionID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:CASCADE;"` }
RolePermission represents the database that stores the relationship between roles and permissions
type Permits ¶
type Permits struct { UserID string `json:"user_id" gorm:"column:user_id"` Name string `json:"name" gorm:"column:name"` Model string `json:"model" gorm:"column:model"` Action string `json:"action" gorm:"column:action"` Permits datatypes.JSON `json:"permits" gorm:"column:permits"` PermitList []string `json:"permit_list" gorm:"column:permit_list"` }