|
|
@@ -7,10 +7,13 @@ namespace App\State\Processor\Access;
|
|
|
use ApiPlatform\Metadata\Delete;
|
|
|
use ApiPlatform\Metadata\Operation;
|
|
|
use ApiPlatform\State\ProcessorInterface;
|
|
|
+use App\ApiResources\Access\AdminAccess;
|
|
|
use App\Entity\Access\Access;
|
|
|
+use App\Service\Access\AdminAccessUtils;
|
|
|
use App\Service\Access\Utils as AccessUtils;
|
|
|
use App\Service\Core\ContactPointUtils;
|
|
|
use Doctrine\ORM\EntityManagerInterface;
|
|
|
+use Exception;
|
|
|
use Symfony\Bundle\SecurityBundle\Security;
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
|
|
@@ -24,14 +27,16 @@ class AdminAccessProcessor implements ProcessorInterface
|
|
|
private EntityManagerInterface $entityManager,
|
|
|
private AccessUtils $accessUtils,
|
|
|
private ContactPointUtils $contactPointUtils,
|
|
|
+ private AdminAccessUtils $adminAccessUtils,
|
|
|
) {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param mixed[] $uriVariables
|
|
|
* @param mixed[] $context
|
|
|
+ * @throws Exception
|
|
|
*/
|
|
|
- public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): void
|
|
|
+ public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): ?AdminAccess
|
|
|
{
|
|
|
if ($operation instanceof Delete) {
|
|
|
throw new \RuntimeException('not supported', Response::HTTP_METHOD_NOT_ALLOWED);
|
|
|
@@ -53,5 +58,7 @@ class AdminAccessProcessor implements ProcessorInterface
|
|
|
$contactPoint->setEmail($data->getEmail());
|
|
|
$this->entityManager->persist($contactPoint);
|
|
|
$this->entityManager->flush();
|
|
|
+
|
|
|
+ return $this->adminAccessUtils->getAdminAccess($access->getOrganization());
|
|
|
}
|
|
|
}
|