Update sample user admin to user authority, add revoke role to auth
This commit is contained in:
parent
43f3ad986e
commit
d431963181
5 changed files with 175 additions and 3 deletions
|
|
@ -265,6 +265,38 @@ func (a *Authority) RevokeRolePermission(c *core.Context, roleSlug string, permS
|
|||
return nil
|
||||
}
|
||||
|
||||
// Revokes a user's role
|
||||
func (a *Authority) RevokeUserRole(c *core.Context, userID uint, roleSlug string) error {
|
||||
// find the role
|
||||
var role models.Role
|
||||
res := c.GetGorm().Where("slug = ?", roleSlug).First(&role)
|
||||
if res.Error != nil {
|
||||
if errors.Is(res.Error, gorm.ErrRecordNotFound) {
|
||||
return ErrRoleNotFound
|
||||
}
|
||||
return res.Error
|
||||
}
|
||||
|
||||
// revoke the role
|
||||
rRes := c.GetGorm().Where("user_id = ?", userID).Where("role_id = ?", role.ID).Delete(models.UserRole{})
|
||||
if rRes.Error != nil {
|
||||
return rRes.Error
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Revokes all user's role
|
||||
func (a *Authority) RevokeAllUserRole(c *core.Context, userID uint) error {
|
||||
// revoke the role
|
||||
rRes := c.GetGorm().Where("user_id = ?", userID).Delete(models.UserRole{})
|
||||
if rRes.Error != nil {
|
||||
return rRes.Error
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Returns all stored roles
|
||||
func (a *Authority) GetAllRoles(c *core.Context) ([]models.Role, error) {
|
||||
var roles []models.Role
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue