summaryrefslogtreecommitdiffstats
path: root/store/redis_supplier_roles.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2018-04-18 10:18:07 +0100
committerGitHub <noreply@github.com>2018-04-18 10:18:07 +0100
commitb13a228b0451098ea32933a36fe64566e366583d (patch)
tree569aa0c6c5f273b806b4c3e0c59801204916492c /store/redis_supplier_roles.go
parenta1882d4004ce624dad1b8624804e974f209efe8d (diff)
downloadchat-b13a228b0451098ea32933a36fe64566e366583d.tar.gz
chat-b13a228b0451098ea32933a36fe64566e366583d.tar.bz2
chat-b13a228b0451098ea32933a36fe64566e366583d.zip
MM-10121: CLI command to reset permissions system to default state. (#8637)
* MM-10121: CLI command to reset permissions system to default state. * Review comment.
Diffstat (limited to 'store/redis_supplier_roles.go')
-rw-r--r--store/redis_supplier_roles.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/store/redis_supplier_roles.go b/store/redis_supplier_roles.go
index 170420f1f..232a8c040 100644
--- a/store/redis_supplier_roles.go
+++ b/store/redis_supplier_roles.go
@@ -84,6 +84,20 @@ func (s *RedisSupplier) RoleGetByNames(ctx context.Context, roleNames []string,
return result
}
+func (s *RedisSupplier) RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult {
+ defer func() {
+ if keys, err := s.client.Keys("roles:*").Result(); err != nil {
+ l4g.Error("Redis encountered an error on read: " + err.Error())
+ } else {
+ if err := s.client.Del(keys...).Err(); err != nil {
+ l4g.Error("Redis encountered an error on delete: " + err.Error())
+ }
+ }
+ }()
+
+ return s.Next().RolePermanentDeleteAll(ctx, hints...)
+}
+
func buildRedisKeyForRoleName(roleName string) string {
return fmt.Sprintf("roles:%s", roleName)
}