π Auth Context β Entity MapΒΆ
Last updated: 2025-10-09 (Europe/Paris)
This diagram illustrates how Spatie Laravel-Permission entities relate to Accounts memberships and downstream contexts. It focuses on relationships rather than database columns.
π Relationship OverviewΒΆ
%%{init: {'themeVariables': {'fontSize': '15px'}, 'class': {'useMaxWidth': true}}}%%
classDiagram
direction LR
class User {
+id
+email
}
class Organization {
+id
+name
}
class Membership {
+role
+status
+permissions
}
class Role {
+id
+name
+guard_name
+team_id
}
class Permission {
+id
+name
+guard_name
}
class ModelHasRoles {
+role_id
+model_id
+model_type
+team_id
}
class ModelHasPermissions {
+permission_id
+model_id
+model_type
+team_id
}
class ArtistMember {
+role
+status
}
User "1" -- "many" Membership : org memberships
Membership ..> Role : "sync assigns role (Spatie)"
Role "1" -- "many" Permission : bundles
User "1" -- "many" ModelHasRoles : entries
ModelHasRoles --> Role : role_id
ModelHasRoles --> Organization : team_id
User "1" -- "many" ModelHasPermissions : direct grants
ModelHasPermissions --> Permission : permission_id
ModelHasPermissions --> Organization : team_id
Membership ..> ModelHasRoles : "drives sync"
ArtistMember ..> ModelHasPermissions : "granular overrides"
note for ModelHasRoles "team_id = organization.id in team mode"
note for ArtistMember "Creators context uses direct grants for per-artist overrides"
Related DocsΒΆ
docs/contexts/auth/models.mdβ Column-level schema for Spatie tables.docs/contexts/accounts/entity-diagram.mdβ How memberships and invitations connect to Accounts.docs/contexts/creators/models.mdβ Artist memberships interacting with Auth permissions.