Skip to content

Fix team scope when syncing role models - #2967

Open
amrachraf6699 wants to merge 1 commit into
spatie:mainfrom
amrachraf6699:fix/team-scoped-inverse-pivot-operations
Open

Fix team scope when syncing role models#2967
amrachraf6699 wants to merge 1 commit into
spatie:mainfrom
amrachraf6699:fix/team-scoped-inverse-pivot-operations

Conversation

@amrachraf6699

Copy link
Copy Markdown

Summary

Fixes Role::syncModels() removing role assignments from every team when teams are enabled.

The pivot delete query is now scoped to the active permissions team, matching the behavior of the user-side role synchronization APIs.

Problem

Calling:

setPermissionsTeamId(1);

$role->syncModels([]);

previously deleted all assignments for that role, including assignments belonging to other teams.

Fix

Adds the active team constraint to the inverse role-model pivot query used by syncModels().

Tests

Added a regression test confirming that syncing models in team 1 removes only team 1’s assignment and preserves the same role assignment in team 2.

vendor/bin/pest tests/Traits/HasAssignedModelsTest.php --filter="only syncs models for the active team"

Passed.

@drbyte
drbyte marked this pull request as draft August 14, 2026 05:09
@amrachraf6699
amrachraf6699 marked this pull request as ready for review August 23, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant