teamRolePermissions
@raizfc/contracts / teamRolePermissions
Variable: teamRolePermissions
constteamRolePermissions:Readonly<Record<ManagementRole, readonlyTeamPermissionKey[]>>
Defined in: permissions.ts:88
Fixed role → permission templates from SPEC-DOMAIN-PERMISSION-001 ("funções fixas,
permissões positivas somadas"). Shared by mocks and the real backend so both stay in
parity. team.viewSquad fixes the gap registered in the EP-MVP-04.2/04.4 handoffs (the API
spec referenced it for GET .../player-links but it was missing from this table; every role
that already reads management gets it, preserving the "any active membership" behavior those
packs stood in with). team.manageTorcidas/team.manageStatus fix the analogous gap for
torcida approval and team lifecycle actions (IS-MVP-04.6 scope): both stay primary-owner/
admin-only like the other manage* keys, except team.manageStatus, which — mirroring
team.transferOwnership — is primary-owner-exclusive, since SPEC-DOMAIN-TEAM-001's
transitions table authorizes mark_inactive/close to "Primary owner/operação" only, not
Admin (no "operação"/staff actor exists in this codebase's auth model; see EP-MVP-04.6 handoff).