feat(core) : RBAC Task 1 - entites Permission et Role + domaine securite

- Entite Permission avec methodes markOrphan/revive/updateMetadata
- Entite Role avec addPermission/removePermission/ensureDeletable
- Constantes SystemRoles (codes admin/user partages)
- Exception SystemRoleDeletionException pour la garde de suppression
- Tests unitaires couvrant le comportement domaine (pas de BDD)

Ticket #343 - 1/7 : fondations RBAC (domaine pur, sans persistence).
Les entites ne portent pas encore repositoryClass (ajoute en Task 2).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matthieu
2026-04-14 16:30:15 +02:00
parent e3025bf2c9
commit f0ea9201f5
7 changed files with 459 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
namespace App\Tests\Module\Core\Domain\Security;
use App\Module\Core\Domain\Security\SystemRoles;
use PHPUnit\Framework\TestCase;
/**
* @internal
*/
final class SystemRolesTest extends TestCase
{
public function testAdminCodeConstant(): void
{
self::assertSame('admin', SystemRoles::ADMIN_CODE);
}
public function testUserCodeConstant(): void
{
self::assertSame('user', SystemRoles::USER_CODE);
}
}