refactor(core) : move user repository/providers to core and migrate all consumers off App\Entity\User

This commit is contained in:
Matthieu
2026-06-19 16:16:44 +02:00
parent d70925b812
commit 0b4874e94d
53 changed files with 109 additions and 115 deletions
+3 -3
View File
@@ -4,8 +4,8 @@ declare(strict_types=1);
namespace App\Security;
use App\Entity\User;
use App\Repository\UserRepository;
use App\Module\Core\Domain\Entity\User;
use App\Module\Core\Infrastructure\Doctrine\DoctrineUserRepository;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@@ -20,7 +20,7 @@ use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPasspor
class ApiTokenAuthenticator extends AbstractAuthenticator
{
public function __construct(
private readonly UserRepository $userRepository,
private readonly DoctrineUserRepository $userRepository,
) {}
public function supports(Request $request): ?bool
+3 -3
View File
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Security;
use App\Entity\User;
use App\Shared\Domain\Contract\UserInterface as SharedUserInterface;
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use Symfony\Component\Security\Core\User\UserInterface;
@@ -23,7 +23,7 @@ final readonly class MailAccessChecker
*/
public function ensureCanAccessMail(?UserInterface $user): void
{
if (!$user instanceof User) {
if (!$user instanceof SharedUserInterface) {
throw new AccessDeniedException('Authentication required');
}
@@ -41,7 +41,7 @@ final readonly class MailAccessChecker
*/
public function ensureIsAdmin(?UserInterface $user): void
{
if (!$user instanceof User || !$this->authorizationChecker->isGranted('ROLE_ADMIN')) {
if (!$user instanceof SharedUserInterface || !$this->authorizationChecker->isGranted('ROLE_ADMIN')) {
throw new AccessDeniedException('Admin only');
}
}