2026-01-18_acl-permissions-policies-venue
Documentação KOLOS

2026-01-18_acl-permissions-policies-venue

🧭 Contexto

A matriz ACL foi definida, mas ainda faltava traduzir isso para o código (Spatie Permission + Policies) para começar a aplicar as regras de acesso e escopo nos módulos.

✅ Decisão

  • Criar um catálogo tipado de permissões (PermissionName).
  • Implementar seed de permissões e atribuição inicial por roles (baseado na matriz ACL).
  • Criar Policies para Venue e Court com regra de escopo por proprietário (owner_user_id).

🛠️ Passos (comandos via Sail)

  • sail artisan migrate:fresh --seed
  • sail artisan test
  • sail bin phpstan analyse

🧪 Validação

  • Rodar os testes:
    • SeedDefaultPermissionsActionTest
    • VenuePolicyTest

📦 Impacto

  • Novo: src/Modules/Identity/Domain/Enums/PermissionName.php.
  • Novo: src/Modules/Identity/Actions/SeedDefaultPermissionsAction.php.
  • Novo: Policies e provider de auth para registrar policies.
  • Atualizado: RolesAndPermissionsSeeder passa a semear permissões.