Skip to content

Commit b8c2ab4

Browse files
refactoring:
* removed extra for loop * commenting on functions
1 parent 5cb94a7 commit b8c2ab4

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

server/resolvers/update_env.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ func clearSessionIfRequired(currentData, updatedData map[string]interface{}) {
9494
}
9595
}
9696

97+
// updateRoles will update DB for user roles, if a role is deleted by admin
98+
// then this function will those roles from user roles if exists
9799
func updateRoles(ctx context.Context, deletedRoles []string) error {
98100
data, err := db.Provider.ListUsers(ctx, &model.Pagination{
99101
Limit: 1,
@@ -111,20 +113,17 @@ func updateRoles(ctx context.Context, deletedRoles []string) error {
111113
}
112114

113115
for i := range allData.Users {
114-
now := time.Now().Unix()
115-
allData.Users[i].Roles = utils.DeleteFromArray(allData.Users[i].Roles, deletedRoles)
116-
allData.Users[i].UpdatedAt = &now
117-
}
118-
119-
for i := range allData.Users {
120-
updatedValues := map[string]interface{}{
121-
"roles": strings.Join(allData.Users[i].Roles, ","),
122-
"updated_at": time.Now().Unix(),
123-
}
124-
id := []string{allData.Users[i].ID}
125-
err = db.Provider.UpdateUsers(ctx, updatedValues, id)
126-
if err != nil {
127-
return err
116+
roles := utils.DeleteFromArray(allData.Users[i].Roles, deletedRoles)
117+
if len(allData.Users[i].Roles) != len(roles) {
118+
updatedValues := map[string]interface{}{
119+
"roles": strings.Join(roles, ","),
120+
"updated_at": time.Now().Unix(),
121+
}
122+
id := []string{allData.Users[i].ID}
123+
err = db.Provider.UpdateUsers(ctx, updatedValues, id)
124+
if err != nil {
125+
return err
126+
}
128127
}
129128
}
130129
return nil

0 commit comments

Comments
 (0)