Dispatch RoleDetached on syncRoles when events are enabled #2869
+48
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enhances the
syncRoles()
method to dispatchRoleDetached
events when roles are removed, but only if events are enabled via configuration.When events are disabled, the method still uses the optimized
detach()
path to avoid unnecessary queries and maintain performance.Changes
syncRoles()
to:removeRole($currentRoles)
when events are enabled, triggeringRoleDetached
.detach()
implementation when events are disabled.RoleDetached
is dispatched onsyncRoles()
when events are enabled.Why
syncRoles()
now behaves likeremoveRole()
in terms of event dispatching.removeRole()
andsyncRoles()
scenarios.