Le super admin (table super_admins, master DB) ne pouvait pas se connecter via /api/login car ce firewall n'utilisait que le provider tenant. De même, le JWT n'était pas enrichi pour les super admins, l'endpoint /api/me/roles les rejetait, et le frontend redirigeait systématiquement vers /dashboard. Un chain provider (super_admin + tenant) résout l'authentification, le JwtPayloadEnricher et MyRolesProvider gèrent désormais les deux types d'utilisateurs, et le frontend redirige selon le rôle après login.
33 lines
675 B
PHP
33 lines
675 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\SuperAdmin\Domain\Event;
|
|
|
|
use App\Shared\Domain\DomainEvent;
|
|
use App\SuperAdmin\Domain\Model\SuperAdmin\SuperAdminId;
|
|
use DateTimeImmutable;
|
|
use Override;
|
|
use Ramsey\Uuid\UuidInterface;
|
|
|
|
final readonly class SuperAdminDesactive implements DomainEvent
|
|
{
|
|
public function __construct(
|
|
public SuperAdminId $superAdminId,
|
|
private DateTimeImmutable $occurredOn,
|
|
) {
|
|
}
|
|
|
|
#[Override]
|
|
public function occurredOn(): DateTimeImmutable
|
|
{
|
|
return $this->occurredOn;
|
|
}
|
|
|
|
#[Override]
|
|
public function aggregateId(): UuidInterface
|
|
{
|
|
return $this->superAdminId->value;
|
|
}
|
|
}
|