Force perm refresh on service init

This commit is contained in:
Denis Arh
2020-10-01 10:49:17 +02:00
parent 79b55199a5
commit 9c5f5194e4
4 changed files with 10 additions and 4 deletions
+3 -1
View File
@@ -108,7 +108,9 @@ func Initialize(ctx context.Context, log *zap.Logger, c Config) (err error) {
if DefaultPermissions == nil {
// Do not override permissions service stored under DefaultPermissions
// to allow integration tests to inject own permission service
DefaultPermissions = permissions.Service(ctx, DefaultLogger, db, "compose_permission_rules")
rbac := permissions.Service(DefaultLogger, db, "compose_permission_rules")
rbac.Reload(ctx)
DefaultPermissions = rbac
}
DefaultAccessControl = AccessControl(DefaultPermissions)
+3 -1
View File
@@ -84,7 +84,9 @@ func Initialize(ctx context.Context, log *zap.Logger, c Config) (err error) {
if DefaultPermissions == nil {
// Do not override permissions service stored under DefaultPermissions
// to allow integration tests to inject own permission service
DefaultPermissions = permissions.Service(ctx, DefaultLogger, repository.DB(ctx), "messaging_permission_rules")
rbac := permissions.Service(DefaultLogger, repository.DB(ctx), "messaging_permission_rules")
rbac.Reload(ctx)
DefaultPermissions = rbac
}
DefaultAccessControl = AccessControl(DefaultPermissions)
+1 -1
View File
@@ -36,7 +36,7 @@ const (
//
// service{} struct preloads, checks, grants and flushes privileges to and from repository
// It acts as a caching layer
func Service(ctx context.Context, logger *zap.Logger, db *factory.DB, tbl string) (svc *service) {
func Service(logger *zap.Logger, db *factory.DB, tbl string) (svc *service) {
svc = &service{
l: &sync.Mutex{},
f: make(chan bool),
+3 -1
View File
@@ -118,7 +118,9 @@ func Initialize(ctx context.Context, log *zap.Logger, c Config) (err error) {
if DefaultPermissions == nil {
// Do not override permissions service stored under DefaultPermissions
// to allow integration tests to inject own permission service
DefaultPermissions = permissions.Service(ctx, DefaultLogger, repository.DB(ctx), "sys_permission_rules")
rbac := permissions.Service(DefaultLogger, repository.DB(ctx), "sys_permission_rules")
rbac.Reload(ctx)
DefaultPermissions = rbac
}
DefaultAccessControl = AccessControl(DefaultPermissions)