diff --git a/config/api_platform/User.yaml b/config/api_platform/User.yaml index 17e4801..427c416 100644 --- a/config/api_platform/User.yaml +++ b/config/api_platform/User.yaml @@ -21,7 +21,7 @@ resources: ApiPlatform\Metadata\Patch: provider: App\State\Provider\UserProvider ApiPlatform\Metadata\Post: - validation_context: + validationContext: groups: [ 'default', 'user:post' ] ApiPlatform\Metadata\Delete: ~ diff --git a/src/Dto/Input/UserGroupInput.php b/src/Dto/Input/UserGroupInput.php index d26ef2a..71047cf 100644 --- a/src/Dto/Input/UserGroupInput.php +++ b/src/Dto/Input/UserGroupInput.php @@ -13,7 +13,7 @@ final class UserGroupInput public ?string $name = null; #[Groups(['user-group:write'])] - public array $permissions = []; + public ?array $permissions = []; #[Assert\NotNull] #[Groups(['user-group:write'])] diff --git a/src/Dto/Input/UserInput.php b/src/Dto/Input/UserInput.php index 379c5f9..79394c9 100644 --- a/src/Dto/Input/UserInput.php +++ b/src/Dto/Input/UserInput.php @@ -23,8 +23,8 @@ final class UserInput #[Groups(['user:write'])] public array $allowedOrganizationalUnits = []; - #[Assert\NotBlank(groups: ['user:create'])] - #[Assert\Length(min: 8)] + #[Assert\NotBlank(groups: ['user:post'])] + #[Assert\Length(min: 8, groups: ['user:write', 'user:post'])] #[Groups(['user:write'])] public ?string $password = null; diff --git a/src/Dto/Output/UserOutput.php b/src/Dto/Output/UserOutput.php index ec66afe..5cd4d72 100644 --- a/src/Dto/Output/UserOutput.php +++ b/src/Dto/Output/UserOutput.php @@ -19,6 +19,8 @@ final class UserOutput extends AbstractOutput public bool $enabled; #[Groups(['user:read'])] public array $allowedOrganizationalUnits; + #[Groups(['user:read'])] + public array $userGroups; #[Groups(['user:read'])] public \DateTime $createAt; @@ -33,6 +35,7 @@ final class UserOutput extends AbstractOutput $this->username = $user->getUsername(); $this->roles = $user->getRoles(); $this->enabled = $user->isEnabled(); + $this->userGroups = $user->getUserGroups()->toArray(); $this->allowedOrganizationalUnits = $user->getAllowedOrganizationalUnits()->toArray(); $this->createAt = $user->getCreatedAt(); $this->createBy = $user->getCreatedBy();