Skip to content

Commit 7bcd5a7

Browse files
feat:
* PR suggested changes
1 parent d8b9ffe commit 7bcd5a7

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

server/resolvers/update_env.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -328,19 +328,17 @@ func UpdateEnvResolver(ctx context.Context, params model.UpdateEnvInput) (*model
328328
}
329329

330330
previousRoles := strings.Split(currentData[constants.EnvKeyRoles].(string), ",")
331+
previousProtectedRoles := strings.Split(currentData[constants.EnvKeyProtectedRoles].(string), ",")
331332
updatedRoles := strings.Split(updatedData[constants.EnvKeyRoles].(string), ",")
332333
updatedDefaultRoles := strings.Split(updatedData[constants.EnvKeyDefaultRoles].(string), ",")
333334
updatedProtectedRoles := strings.Split(updatedData[constants.EnvKeyProtectedRoles].(string), ",")
334-
335335
// check the roles change
336-
if len(updatedRoles) > 0 {
337-
if len(updatedDefaultRoles) > 0 {
338-
// should be subset of roles
339-
for _, role := range updatedDefaultRoles {
340-
if !utils.StringSliceContains(updatedRoles, role) {
341-
log.Debug("Default roles should be subset of roles")
342-
return res, fmt.Errorf("default role %s is not in roles", role)
343-
}
336+
if len(updatedRoles) > 0 && len(updatedDefaultRoles) > 0 {
337+
// should be subset of roles
338+
for _, role := range updatedDefaultRoles {
339+
if !utils.StringSliceContains(updatedRoles, role) {
340+
log.Debug("Default roles should be subset of roles")
341+
return res, fmt.Errorf("default role %s is not in roles", role)
344342
}
345343
}
346344
}
@@ -359,6 +357,11 @@ func UpdateEnvResolver(ctx context.Context, params model.UpdateEnvInput) (*model
359357
go updateRoles(ctx, deletedRoles)
360358
}
361359

360+
deletedProtectedRoles := utils.FindDeletedValues(previousProtectedRoles, updatedProtectedRoles)
361+
if len(deletedProtectedRoles) > 0 {
362+
go updateRoles(ctx, deletedProtectedRoles)
363+
}
364+
362365
// Update local store
363366
memorystore.Provider.UpdateEnvStore(updatedData)
364367
jwk, err := crypto.GenerateJWKBasedOnEnv()

0 commit comments

Comments
 (0)