Loading api/src/DataFixtures/RolePrivilegeFixtures.php +64 −0 Changes for api/src/DataFixtures/RolePrivilegeFixtures.php: 64 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Unicaen\Utilisateur\DataFixtures; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Bundle\FixturesBundle\FixtureGroupInterface; use Doctrine\Common\DataFixtures\DependentFixtureInterface; use Doctrine\Persistence\ObjectManager; use Unicaen\Privilege\DataFixtures\System\PrivilegeCategorieFixtures; use Unicaen\Privilege\DataFixtures\System\PrivilegeRouteFixtures; use Unicaen\Privilege\Entity\PrivilegeCategorie; class RolePrivilegeFixtures extends Fixture implements FixtureGroupInterface { public const REFERENCE_CATEGORIE = 'unicaen_privilege_role_categorie'; public static function getGroups(): array { return ['system', 'privilege']; } public function load(ObjectManager $manager): void { $privilegeRoleCategorie = new \Unicaen\Privilege\Entity\PrivilegeCategorie(); $privilegeRoleCategorie->setLibelle('Unicaen Role'); $privilegeRoleCategorie->setCode('unicaen_role'); $manager->persist($privilegeRoleCategorie); $manager->flush(); $this->addReference(self::REFERENCE_CATEGORIE, $privilegeRoleCategorie); $roleVoir = new \Unicaen\Privilege\Entity\Privilege(); $roleVoir->setLibelle('Voir'); $roleVoir->setCode('role_voir'); $roleVoir->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleCreer = new \Unicaen\Privilege\Entity\Privilege(); $roleCreer->setLibelle('Créer'); $roleCreer->setCode('role_creer'); $roleCreer->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleModifier = new \Unicaen\Privilege\Entity\Privilege(); $roleModifier->setLibelle('Modifier'); $roleModifier->setCode('role_modifier'); $roleModifier->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $roleSupprimer->setLibelle('Supprimer'); $roleSupprimer->setCode('role_supprimer'); $roleSupprimer->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $manager->persist($roleVoir); $manager->persist($roleCreer); $manager->persist($roleModifier); $manager->persist($roleSupprimer); $manager->flush(); } public function getDependencies(): array { return [ ]; } } api/src/DataFixtures/UtilisateurPrivilegeFixtures.php +35 −24 Changes for api/src/DataFixtures/UtilisateurPrivilegeFixtures.php: 35 added lines, 24 removed lines. Original line number Diff line number Diff line Loading @@ -10,35 +10,48 @@ use Unicaen\Privilege\DataFixtures\System\PrivilegeCategorieFixtures; use Unicaen\Privilege\DataFixtures\System\PrivilegeRouteFixtures; use Unicaen\Privilege\Entity\PrivilegeCategorie; class PrivilegeFixtures extends Fixture implements FixtureGroupInterface class UtilisateurPrivilegeFixtures extends Fixture implements FixtureGroupInterface { public const REFERENCE_CATEGORIE = 'unicaen_privilege_utilisateur_categorie'; public static function getGroups(): array { return ['system', 'privilege']; } public function load(ObjectManager $manager): void { $privilegeVoir = new \Unicaen\Privilege\Entity\Privilege(); $privilegeVoir->setName('Voir'); $privilegeVoir->setCode('privilege_voir'); $privilegeVoir->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeCreer = new \Unicaen\Privilege\Entity\Privilege(); $privilegeCreer->setName('Créer'); $privilegeCreer->setCode('privilege_creer'); $privilegeCreer->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeModifier = new \Unicaen\Privilege\Entity\Privilege(); $privilegeModifier->setName('Modifier'); $privilegeModifier->setCode('privilege_modifier'); $privilegeModifier->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $privilegeSupprimer->setName('Supprimer'); $privilegeSupprimer->setCode('privilege_supprimer'); $privilegeSupprimer->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $manager->persist($privilegeVoir); $privilegeUtilisateurCategorie = new \Unicaen\Privilege\Entity\PrivilegeCategorie(); $privilegeUtilisateurCategorie->setLibelle('Unicaen Utilisateur'); $privilegeUtilisateurCategorie->setCode('unicaen_utilisateur'); $manager->persist($privilegeUtilisateurCategorie); $manager->flush(); $this->addReference(self::REFERENCE_CATEGORIE, $privilegeUtilisateurCategorie); $utilisateurVoir = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurVoir->setLibelle('Voir'); $utilisateurVoir->setCode('utilisateur_voir'); $utilisateurVoir->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurCreer = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurCreer->setLibelle('Créer'); $utilisateurCreer->setCode('utilisateur_creer'); $utilisateurCreer->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurModifier = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurModifier->setLibelle('Modifier'); $utilisateurModifier->setCode('utilisateur_modifier'); $utilisateurModifier->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurSupprimer->setLibelle('Supprimer'); $utilisateurSupprimer->setCode('utilisateur_supprimer'); $utilisateurSupprimer->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $manager->persist($utilisateurVoir); $manager->persist($utilisateurCreer); $manager->persist($utilisateurModifier); $manager->persist($utilisateurSupprimer); $manager->flush(); } Loading @@ -46,8 +59,6 @@ class PrivilegeFixtures extends Fixture implements FixtureGroupInterface public function getDependencies(): array { return [ PrivilegeCategorieFixtures::class, PrivilegeRouteFixtures::class, ]; } } api/src/DependencyInjection/UnicaenUtilisateurExtension.php +22 −1 Changes for api/src/DependencyInjection/UnicaenUtilisateurExtension.php: 22 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,10 +5,31 @@ namespace Unicaen\Utilisateur\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; class UnicaenUtilisateurExtension extends Extension class UnicaenUtilisateurExtension extends Extension implements PrependExtensionInterface { public function prepend(ContainerBuilder $container): void { if (!$container->hasExtension('doctrine')) { return; } // Paramètres (avec valeurs par défaut) que l’app pourra surcharger $container->setParameter('unicaen.user_class', \Unicaen\Utilisateur\Entity\User::class); $container->setParameter('unicaen.role_class', \Unicaen\Utilisateur\Entity\Role::class); // Mapping par défaut (pré-ajouté) $container->prependExtensionConfig('doctrine', [ 'orm' => [ 'resolve_target_entities' => [ \Unicaen\Utilisateur\Model\UnicaenUserInterface::class => '%unicaen.user_class%', \Unicaen\Utilisateur\Model\RoleInterface::class => '%unicaen.role_class%', ], ], ]); } public function load(array $configs, ContainerBuilder $container): void { Loading api/src/Dto/UtilisateurInscriptionInput.php +3 −3 Changes for api/src/Dto/UtilisateurInscriptionInput.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -9,15 +9,15 @@ class UtilisateurInscriptionInput { #[Assert\NotBlank] #[Assert\Email] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $email; #[Assert\NotBlank] #[Assert\Length(min: 4)] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $plainPassword; #[Assert\NotBlank] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $typeConnexion; } api/src/Entity/AbstractRole.php +23 −14 Changes for api/src/Entity/AbstractRole.php: 23 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -2,12 +2,14 @@ namespace Unicaen\Utilisateur\Entity; use ApiPlatform\Metadata\ApiResource; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Unicaen\Utilisateur\Model\RoleInterface; use Unicaen\Utilisateur\Model\UnicaenUserInterface; use Unicaen\Privilege\Model\PrivilegeInterface; #[ORM\MappedSuperclass] abstract class AbstractRole implements RoleInterface { Loading Loading @@ -36,6 +38,8 @@ abstract class AbstractRole implements RoleInterface #[ORM\ManyToMany(targetEntity: PrivilegeInterface::class, inversedBy: 'roles')] #[ORM\JoinTable(name: 'unicaen_privilege_role_privilege')] #[ORM\JoinColumn(name: 'role_id', referencedColumnName: 'id', onDelete: 'CASCADE')] #[ORM\InverseJoinColumn(name: 'privilege_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected Collection $privileges; public function getId() : ?int Loading Loading @@ -154,20 +158,25 @@ abstract class AbstractRole implements RoleInterface $this->users->removeElement($user); } // public function getPrivileges() : Collection // { // return $this->privileges; // } // public function addPrivilege(PrivilegeInterface $privilege) : void // { // $this->privileges->add($privilege); // } // // public function removePrivilege(PrivilegeInterface $privilege) : void // { // $this->privileges->removeElement($privilege); // } public function getPrivileges() : Collection { return $this->privileges; } public function addPrivilege(PrivilegeInterface $privilege) : void { $this->privileges->add($privilege); } public function hasPrivilege(PrivilegeInterface $privilege) : bool { return $this->privileges->contains($privilege); } public function removePrivilege(PrivilegeInterface $privilege) : void { $this->privileges->removeElement($privilege); } /** Fonctions magiques ********************************************************************************************/ Loading Loading
api/src/DataFixtures/RolePrivilegeFixtures.php +64 −0 Changes for api/src/DataFixtures/RolePrivilegeFixtures.php: 64 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Unicaen\Utilisateur\DataFixtures; use Doctrine\Bundle\FixturesBundle\Fixture; use Doctrine\Bundle\FixturesBundle\FixtureGroupInterface; use Doctrine\Common\DataFixtures\DependentFixtureInterface; use Doctrine\Persistence\ObjectManager; use Unicaen\Privilege\DataFixtures\System\PrivilegeCategorieFixtures; use Unicaen\Privilege\DataFixtures\System\PrivilegeRouteFixtures; use Unicaen\Privilege\Entity\PrivilegeCategorie; class RolePrivilegeFixtures extends Fixture implements FixtureGroupInterface { public const REFERENCE_CATEGORIE = 'unicaen_privilege_role_categorie'; public static function getGroups(): array { return ['system', 'privilege']; } public function load(ObjectManager $manager): void { $privilegeRoleCategorie = new \Unicaen\Privilege\Entity\PrivilegeCategorie(); $privilegeRoleCategorie->setLibelle('Unicaen Role'); $privilegeRoleCategorie->setCode('unicaen_role'); $manager->persist($privilegeRoleCategorie); $manager->flush(); $this->addReference(self::REFERENCE_CATEGORIE, $privilegeRoleCategorie); $roleVoir = new \Unicaen\Privilege\Entity\Privilege(); $roleVoir->setLibelle('Voir'); $roleVoir->setCode('role_voir'); $roleVoir->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleCreer = new \Unicaen\Privilege\Entity\Privilege(); $roleCreer->setLibelle('Créer'); $roleCreer->setCode('role_creer'); $roleCreer->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleModifier = new \Unicaen\Privilege\Entity\Privilege(); $roleModifier->setLibelle('Modifier'); $roleModifier->setCode('role_modifier'); $roleModifier->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $roleSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $roleSupprimer->setLibelle('Supprimer'); $roleSupprimer->setCode('role_supprimer'); $roleSupprimer->setCategorie($this->getReference(RolePrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $manager->persist($roleVoir); $manager->persist($roleCreer); $manager->persist($roleModifier); $manager->persist($roleSupprimer); $manager->flush(); } public function getDependencies(): array { return [ ]; } }
api/src/DataFixtures/UtilisateurPrivilegeFixtures.php +35 −24 Changes for api/src/DataFixtures/UtilisateurPrivilegeFixtures.php: 35 added lines, 24 removed lines. Original line number Diff line number Diff line Loading @@ -10,35 +10,48 @@ use Unicaen\Privilege\DataFixtures\System\PrivilegeCategorieFixtures; use Unicaen\Privilege\DataFixtures\System\PrivilegeRouteFixtures; use Unicaen\Privilege\Entity\PrivilegeCategorie; class PrivilegeFixtures extends Fixture implements FixtureGroupInterface class UtilisateurPrivilegeFixtures extends Fixture implements FixtureGroupInterface { public const REFERENCE_CATEGORIE = 'unicaen_privilege_utilisateur_categorie'; public static function getGroups(): array { return ['system', 'privilege']; } public function load(ObjectManager $manager): void { $privilegeVoir = new \Unicaen\Privilege\Entity\Privilege(); $privilegeVoir->setName('Voir'); $privilegeVoir->setCode('privilege_voir'); $privilegeVoir->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeCreer = new \Unicaen\Privilege\Entity\Privilege(); $privilegeCreer->setName('Créer'); $privilegeCreer->setCode('privilege_creer'); $privilegeCreer->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeModifier = new \Unicaen\Privilege\Entity\Privilege(); $privilegeModifier->setName('Modifier'); $privilegeModifier->setCode('privilege_modifier'); $privilegeModifier->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $privilegeSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $privilegeSupprimer->setName('Supprimer'); $privilegeSupprimer->setCode('privilege_supprimer'); $privilegeSupprimer->setCategory($this->getReference(PrivilegeCategorieFixtures::REFERENCE, PrivilegeCategorie::class)); $manager->persist($privilegeVoir); $privilegeUtilisateurCategorie = new \Unicaen\Privilege\Entity\PrivilegeCategorie(); $privilegeUtilisateurCategorie->setLibelle('Unicaen Utilisateur'); $privilegeUtilisateurCategorie->setCode('unicaen_utilisateur'); $manager->persist($privilegeUtilisateurCategorie); $manager->flush(); $this->addReference(self::REFERENCE_CATEGORIE, $privilegeUtilisateurCategorie); $utilisateurVoir = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurVoir->setLibelle('Voir'); $utilisateurVoir->setCode('utilisateur_voir'); $utilisateurVoir->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurCreer = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurCreer->setLibelle('Créer'); $utilisateurCreer->setCode('utilisateur_creer'); $utilisateurCreer->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurModifier = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurModifier->setLibelle('Modifier'); $utilisateurModifier->setCode('utilisateur_modifier'); $utilisateurModifier->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $utilisateurSupprimer = new \Unicaen\Privilege\Entity\Privilege(); $utilisateurSupprimer->setLibelle('Supprimer'); $utilisateurSupprimer->setCode('utilisateur_supprimer'); $utilisateurSupprimer->setCategorie($this->getReference(UtilisateurPrivilegeFixtures::REFERENCE_CATEGORIE, \Unicaen\Privilege\Entity\PrivilegeCategorie::class)); $manager->persist($utilisateurVoir); $manager->persist($utilisateurCreer); $manager->persist($utilisateurModifier); $manager->persist($utilisateurSupprimer); $manager->flush(); } Loading @@ -46,8 +59,6 @@ class PrivilegeFixtures extends Fixture implements FixtureGroupInterface public function getDependencies(): array { return [ PrivilegeCategorieFixtures::class, PrivilegeRouteFixtures::class, ]; } }
api/src/DependencyInjection/UnicaenUtilisateurExtension.php +22 −1 Changes for api/src/DependencyInjection/UnicaenUtilisateurExtension.php: 22 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,10 +5,31 @@ namespace Unicaen\Utilisateur\DependencyInjection; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Extension\Extension; use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; class UnicaenUtilisateurExtension extends Extension class UnicaenUtilisateurExtension extends Extension implements PrependExtensionInterface { public function prepend(ContainerBuilder $container): void { if (!$container->hasExtension('doctrine')) { return; } // Paramètres (avec valeurs par défaut) que l’app pourra surcharger $container->setParameter('unicaen.user_class', \Unicaen\Utilisateur\Entity\User::class); $container->setParameter('unicaen.role_class', \Unicaen\Utilisateur\Entity\Role::class); // Mapping par défaut (pré-ajouté) $container->prependExtensionConfig('doctrine', [ 'orm' => [ 'resolve_target_entities' => [ \Unicaen\Utilisateur\Model\UnicaenUserInterface::class => '%unicaen.user_class%', \Unicaen\Utilisateur\Model\RoleInterface::class => '%unicaen.role_class%', ], ], ]); } public function load(array $configs, ContainerBuilder $container): void { Loading
api/src/Dto/UtilisateurInscriptionInput.php +3 −3 Changes for api/src/Dto/UtilisateurInscriptionInput.php: 3 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -9,15 +9,15 @@ class UtilisateurInscriptionInput { #[Assert\NotBlank] #[Assert\Email] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $email; #[Assert\NotBlank] #[Assert\Length(min: 4)] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $plainPassword; #[Assert\NotBlank] #[Groups(['utilisateur:register'])] #[Groups(['user:register'])] public string $typeConnexion; }
api/src/Entity/AbstractRole.php +23 −14 Changes for api/src/Entity/AbstractRole.php: 23 added lines, 14 removed lines. Original line number Diff line number Diff line Loading @@ -2,12 +2,14 @@ namespace Unicaen\Utilisateur\Entity; use ApiPlatform\Metadata\ApiResource; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Unicaen\Utilisateur\Model\RoleInterface; use Unicaen\Utilisateur\Model\UnicaenUserInterface; use Unicaen\Privilege\Model\PrivilegeInterface; #[ORM\MappedSuperclass] abstract class AbstractRole implements RoleInterface { Loading Loading @@ -36,6 +38,8 @@ abstract class AbstractRole implements RoleInterface #[ORM\ManyToMany(targetEntity: PrivilegeInterface::class, inversedBy: 'roles')] #[ORM\JoinTable(name: 'unicaen_privilege_role_privilege')] #[ORM\JoinColumn(name: 'role_id', referencedColumnName: 'id', onDelete: 'CASCADE')] #[ORM\InverseJoinColumn(name: 'privilege_id', referencedColumnName: 'id', onDelete: 'CASCADE')] protected Collection $privileges; public function getId() : ?int Loading Loading @@ -154,20 +158,25 @@ abstract class AbstractRole implements RoleInterface $this->users->removeElement($user); } // public function getPrivileges() : Collection // { // return $this->privileges; // } // public function addPrivilege(PrivilegeInterface $privilege) : void // { // $this->privileges->add($privilege); // } // // public function removePrivilege(PrivilegeInterface $privilege) : void // { // $this->privileges->removeElement($privilege); // } public function getPrivileges() : Collection { return $this->privileges; } public function addPrivilege(PrivilegeInterface $privilege) : void { $this->privileges->add($privilege); } public function hasPrivilege(PrivilegeInterface $privilege) : bool { return $this->privileges->contains($privilege); } public function removePrivilege(PrivilegeInterface $privilege) : void { $this->privileges->removeElement($privilege); } /** Fonctions magiques ********************************************************************************************/ Loading