fix(CommunityPermissions): Fix token criteria updates in the permissions model
Re-create the token criteria and include all items whenever the model changes.
The previous perf optimisation fix filtered the items where the criteriaMet doesn't change.
(cherry picked from commit a9a83df301
)
This commit is contained in:
parent
4a066a2f48
commit
5e33540307
|
@ -935,12 +935,13 @@ proc updateTokenPermissionModel*(self: Module, permissions: Table[string, CheckP
|
|||
|
||||
var updatedTokenCriteriaItems: seq[TokenCriteriaItem] = @[]
|
||||
var permissionSatisfied = true
|
||||
var aCriteriaChanged = false
|
||||
|
||||
for index, tokenCriteriaItem in tokenPermissionItem.getTokenCriteria().getItems():
|
||||
let criteriaMet = criteriaResult.criteria[index]
|
||||
|
||||
if tokenCriteriaItem.criteriaMet == criteriaMet:
|
||||
continue
|
||||
if tokenCriteriaItem.criteriaMet != criteriaMet:
|
||||
aCriteriaChanged = true
|
||||
|
||||
let updatedTokenCriteriaItem = initTokenCriteriaItem(
|
||||
tokenCriteriaItem.symbol,
|
||||
|
@ -956,7 +957,7 @@ proc updateTokenPermissionModel*(self: Module, permissions: Table[string, CheckP
|
|||
|
||||
updatedTokenCriteriaItems.add(updatedTokenCriteriaItem)
|
||||
|
||||
if updatedTokenCriteriaItems.len == 0:
|
||||
if not aCriteriaChanged:
|
||||
continue
|
||||
|
||||
thereWasAnUpdate = true
|
||||
|
|
|
@ -905,13 +905,13 @@ proc applyPermissionResponse*(self: Module, communityId: string, permissions: Ta
|
|||
|
||||
var updatedTokenCriteriaItems: seq[TokenCriteriaItem] = @[]
|
||||
var permissionSatisfied = true
|
||||
var aCriteriaChanged = false
|
||||
|
||||
for index, tokenCriteriaItem in tokenPermissionItem.getTokenCriteria().getItems():
|
||||
let criteriaMet = criteriaResult.criteria[index]
|
||||
|
||||
if tokenCriteriaItem.criteriaMet == criteriaMet:
|
||||
continue
|
||||
|
||||
if tokenCriteriaItem.criteriaMet != criteriaMet:
|
||||
aCriteriaChanged = true
|
||||
|
||||
let updatedTokenCriteriaItem = initTokenCriteriaItem(
|
||||
tokenCriteriaItem.symbol,
|
||||
|
@ -927,8 +927,9 @@ proc applyPermissionResponse*(self: Module, communityId: string, permissions: Ta
|
|||
|
||||
updatedTokenCriteriaItems.add(updatedTokenCriteriaItem)
|
||||
|
||||
if updatedTokenCriteriaItems.len == 0:
|
||||
if not aCriteriaChanged:
|
||||
continue
|
||||
|
||||
let updatedTokenPermissionItem = initTokenPermissionItem(
|
||||
tokenPermissionItem.id,
|
||||
tokenPermissionItem.`type`,
|
||||
|
|
Loading…
Reference in New Issue