summaryrefslogtreecommitdiffstats
path: root/store/redis_supplier_roles.go
diff options
context:
space:
mode:
Diffstat (limited to 'store/redis_supplier_roles.go')
-rw-r--r--store/redis_supplier_roles.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/store/redis_supplier_roles.go b/store/redis_supplier_roles.go
index c53614113..49f8ede48 100644
--- a/store/redis_supplier_roles.go
+++ b/store/redis_supplier_roles.go
@@ -83,6 +83,21 @@ func (s *RedisSupplier) RoleGetByNames(ctx context.Context, roleNames []string,
return result
}
+func (s *RedisSupplier) RoleDelete(ctx context.Context, roleId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
+ result := s.Next().RoleGet(ctx, roleId, hints...)
+
+ if result.Err == nil {
+ role := result.Data.(*model.Role)
+ key := buildRedisKeyForRoleName(role.Name)
+
+ if err := s.client.Del(key).Err(); err != nil {
+ mlog.Error("Redis failed to remove key " + key + " Error: " + err.Error())
+ }
+ }
+
+ return result
+}
+
func (s *RedisSupplier) RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
defer func() {
if keys, err := s.client.Keys("roles:*").Result(); err != nil {