|
|
@@ -1,4 +1,5 @@
|
|
|
<?php
|
|
|
+
|
|
|
declare (strict_types=1);
|
|
|
|
|
|
namespace App\ApiResources\Access;
|
|
|
@@ -11,67 +12,79 @@ use App\ApiResources\ApiResourcesInterface;
|
|
|
use App\State\Processor\Access\AdminAccessProcessor;
|
|
|
use App\State\Provider\Access\AdminAccessProvider;
|
|
|
use JetBrains\PhpStorm\Pure;
|
|
|
+use Symfony\Component\Process\Process;
|
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
+
|
|
|
/**
|
|
|
* Classe resource qui contient les champs d'un compte admin
|
|
|
*/
|
|
|
#[ApiResource(
|
|
|
operations: [
|
|
|
new Get(
|
|
|
- uriTemplate: '/admin/{id}',
|
|
|
- defaults: ['id' => 0],
|
|
|
- provider: AdminAccessProvider::class
|
|
|
+ uriTemplate: '/admin-access/{id}',
|
|
|
+ defaults: ['id' => 0]
|
|
|
),
|
|
|
new Put(
|
|
|
- uriTemplate: '/admin/{id}',
|
|
|
+ uriTemplate: '/admin-access/{id}',
|
|
|
defaults: ['id' => 0],
|
|
|
- processor: AdminAccessProcessor::class
|
|
|
+ security: '(is_granted("ROLE_ADMIN_CORE") and object.getOrganizationId() == user.getOrganization().getId() )'
|
|
|
)
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ provider: AdminAccessProvider::class,
|
|
|
+ processor : AdminAccessProcessor::class
|
|
|
)]
|
|
|
class AdminAccess implements ApiResourcesInterface
|
|
|
{
|
|
|
#[ApiProperty(identifier: true)]
|
|
|
public ?int $id = null;
|
|
|
|
|
|
+
|
|
|
+ private int $organizationId;
|
|
|
+
|
|
|
private ?string $username = null;
|
|
|
|
|
|
#[Assert\Email(message: 'invalid-email-format', mode: 'strict')]
|
|
|
private ?string $email = null;
|
|
|
|
|
|
- #[Pure]
|
|
|
- public function __construct()
|
|
|
+ public function getId(): ?int
|
|
|
{
|
|
|
+ return $this->id;
|
|
|
}
|
|
|
|
|
|
- public function getId() : ?int
|
|
|
+ public function setId(?int $id): self
|
|
|
{
|
|
|
- return $this->id;
|
|
|
+ $this->id = $id;
|
|
|
+ return $this;
|
|
|
}
|
|
|
|
|
|
- public function setId(?int $id) : self
|
|
|
+ public function getOrganizationId(): ?int
|
|
|
{
|
|
|
- $this->id = $id;
|
|
|
+ return $this->organizationId;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setOrganizationId(?int $organizationId): self
|
|
|
+ {
|
|
|
+ $this->organizationId = $organizationId;
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
- public function getUsername() : ?string
|
|
|
+ public function getUsername(): ?string
|
|
|
{
|
|
|
return $this->username;
|
|
|
}
|
|
|
|
|
|
- public function setUsername(?string $username) : self
|
|
|
+ public function setUsername(?string $username): self
|
|
|
{
|
|
|
$this->username = $username;
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
- public function getEmail() : ?string
|
|
|
+ public function getEmail(): ?string
|
|
|
{
|
|
|
return $this->email;
|
|
|
}
|
|
|
|
|
|
- public function setEmail(?string $email) : self
|
|
|
+ public function setEmail(?string $email): self
|
|
|
{
|
|
|
$this->email = $email;
|
|
|
return $this;
|