mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-21 01:25:55 +02:00
Renamed PermissionResolver service to PermissionService
This commit is contained in:
parent
131e9a2850
commit
b0c027f805
17 changed files with 50 additions and 53 deletions
|
@ -4,7 +4,7 @@ namespace App\Command\User;
|
|||
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Repository\UserRepository;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Helper\Table;
|
||||
|
@ -23,10 +23,10 @@ class UsersPermissionsCommand extends Command
|
|||
|
||||
protected EntityManagerInterface $entityManager;
|
||||
protected UserRepository $userRepository;
|
||||
protected PermissionResolver $permissionResolver;
|
||||
protected PermissionManager $permissionResolver;
|
||||
protected TranslatorInterface $translator;
|
||||
|
||||
public function __construct(EntityManagerInterface $entityManager, PermissionResolver $permissionResolver, TranslatorInterface $translator)
|
||||
public function __construct(EntityManagerInterface $entityManager, PermissionManager $permissionResolver, TranslatorInterface $translator)
|
||||
{
|
||||
$this->entityManager = $entityManager;
|
||||
$this->userRepository = $entityManager->getRepository(User::class);
|
||||
|
|
|
@ -42,7 +42,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Form\Permissions;
|
||||
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\Options;
|
||||
|
@ -50,10 +50,10 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||
|
||||
class PermissionGroupType extends AbstractType
|
||||
{
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
protected array $perm_structure;
|
||||
|
||||
public function __construct(PermissionResolver $resolver)
|
||||
public function __construct(PermissionManager $resolver)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
$this->perm_structure = $resolver->getPermissionStructure();
|
||||
|
|
|
@ -43,7 +43,7 @@ declare(strict_types=1);
|
|||
namespace App\Form\Permissions;
|
||||
|
||||
use App\Form\Type\TriStateCheckboxType;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
|
@ -53,10 +53,10 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||
|
||||
class PermissionType extends AbstractType
|
||||
{
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
protected array $perm_structure;
|
||||
|
||||
public function __construct(PermissionResolver $resolver)
|
||||
public function __construct(PermissionManager $resolver)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
$this->perm_structure = $resolver->getPermissionStructure();
|
||||
|
|
|
@ -42,7 +42,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Form\Permissions;
|
||||
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use RuntimeException;
|
||||
use Symfony\Component\Form\DataMapperInterface;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
|
@ -54,10 +54,10 @@ use Traversable;
|
|||
*/
|
||||
final class PermissionsMapper implements DataMapperInterface
|
||||
{
|
||||
private PermissionResolver $resolver;
|
||||
private PermissionManager $resolver;
|
||||
private bool $inherit;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, bool $inherit = false)
|
||||
public function __construct(PermissionManager $resolver, bool $inherit = false)
|
||||
{
|
||||
$this->inherit = $inherit;
|
||||
$this->resolver = $resolver;
|
||||
|
|
|
@ -42,7 +42,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Form\Permissions;
|
||||
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use App\Validator\Constraints\NoLockout;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
|
@ -53,10 +53,10 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||
|
||||
class PermissionsType extends AbstractType
|
||||
{
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
protected array $perm_structure;
|
||||
|
||||
public function __construct(PermissionResolver $resolver)
|
||||
public function __construct(PermissionManager $resolver)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
$this->perm_structure = $resolver->getPermissionStructure();
|
||||
|
|
|
@ -44,9 +44,8 @@ namespace App\Security\Voter;
|
|||
|
||||
use App\Entity\Attachments\Attachment;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
||||
use function in_array;
|
||||
|
@ -55,7 +54,7 @@ class AttachmentVoter extends ExtendedVoter
|
|||
{
|
||||
protected $security;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
{
|
||||
parent::__construct($resolver, $entityManager);
|
||||
$this->security = $security;
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace App\Security\Voter;
|
|||
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Repository\UserRepository;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||
use Symfony\Component\Security\Core\Authorization\Voter\Voter;
|
||||
|
@ -55,9 +55,9 @@ use Symfony\Component\Security\Core\Authorization\Voter\Voter;
|
|||
abstract class ExtendedVoter extends Voter
|
||||
{
|
||||
protected EntityManagerInterface $entityManager;
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
$this->entityManager = $entityManager;
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace App\Security\Voter;
|
|||
|
||||
use App\Entity\PriceInformations\Orderdetail;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
||||
|
@ -33,7 +33,7 @@ class OrderdetailVoter extends ExtendedVoter
|
|||
{
|
||||
protected Security $security;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
{
|
||||
parent::__construct($resolver, $entityManager);
|
||||
$this->security = $security;
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
namespace App\Security\Voter;
|
||||
|
||||
use App\Entity\Attachments\CategoryAttachment;
|
||||
use App\Entity\Attachments\CurrencyAttachment;
|
||||
use App\Entity\Parameters\AbstractParameter;
|
||||
use App\Entity\Parameters\AttachmentTypeParameter;
|
||||
use App\Entity\Parameters\CategoryParameter;
|
||||
|
@ -16,9 +14,8 @@ use App\Entity\Parameters\MeasurementUnitParameter;
|
|||
use App\Entity\Parameters\PartParameter;
|
||||
use App\Entity\Parameters\StorelocationParameter;
|
||||
use App\Entity\Parameters\SupplierParameter;
|
||||
use App\Entity\PriceInformations\Currency;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use PHPUnit\TextUI\RuntimeException;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
@ -28,7 +25,7 @@ class ParameterVoter extends ExtendedVoter
|
|||
|
||||
protected Security $security;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
{
|
||||
$this->security = $security;
|
||||
parent::__construct($resolver, $entityManager);
|
||||
|
|
|
@ -24,9 +24,8 @@ declare(strict_types=1);
|
|||
namespace App\Security\Voter;
|
||||
|
||||
use App\Entity\Parts\PartLot;
|
||||
use App\Entity\PriceInformations\Orderdetail;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
||||
|
@ -34,7 +33,7 @@ class PartLotVoter extends ExtendedVoter
|
|||
{
|
||||
protected Security $security;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
{
|
||||
parent::__construct($resolver, $entityManager);
|
||||
$this->security = $security;
|
||||
|
|
|
@ -23,10 +23,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Security\Voter;
|
||||
|
||||
use App\Entity\Parts\PartLot;
|
||||
use App\Entity\PriceInformations\Pricedetail;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
||||
|
@ -34,7 +33,7 @@ class PricedetailVoter extends ExtendedVoter
|
|||
{
|
||||
protected Security $security;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
public function __construct(PermissionManager $resolver, EntityManagerInterface $entityManager, Security $security)
|
||||
{
|
||||
parent::__construct($resolver, $entityManager);
|
||||
$this->security = $security;
|
||||
|
|
|
@ -42,7 +42,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Services\TranslationExtractor;
|
||||
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Symfony\Component\Translation\Extractor\ExtractorInterface;
|
||||
use Symfony\Component\Translation\MessageCatalogue;
|
||||
|
||||
|
@ -55,7 +55,7 @@ final class PermissionExtractor implements ExtractorInterface
|
|||
private array $permission_structure;
|
||||
private bool $finished = false;
|
||||
|
||||
public function __construct(PermissionResolver $resolver)
|
||||
public function __construct(PermissionManager $resolver)
|
||||
{
|
||||
$this->permission_structure = $resolver->getPermissionStructure();
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ declare(strict_types=1);
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
namespace App\Services;
|
||||
namespace App\Services\UserSystem;
|
||||
|
||||
use App\Configuration\PermissionsConfiguration;
|
||||
use App\Entity\UserSystem\Group;
|
||||
|
@ -52,7 +52,12 @@ use Symfony\Component\Config\Definition\Processor;
|
|||
use Symfony\Component\Config\Resource\FileResource;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
|
||||
class PermissionResolver
|
||||
/**
|
||||
* This class manages the permissions of users and groups.
|
||||
* Permissions are defined in the config/permissions.yaml file, and are parsed and resolved by this class using the
|
||||
* user and hierachical group PermissionData information.
|
||||
*/
|
||||
class PermissionManager
|
||||
{
|
||||
protected $permission_structure;
|
||||
|
|
@ -3,15 +3,13 @@
|
|||
namespace App\Services\UserSystem;
|
||||
|
||||
use App\Entity\UserSystem\PermissionData;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Security\Interfaces\HasPermissionsInterface;
|
||||
use App\Services\PermissionResolver;
|
||||
|
||||
class PermissionPresetsHelper
|
||||
{
|
||||
private PermissionResolver $permissionResolver;
|
||||
private PermissionManager $permissionResolver;
|
||||
|
||||
public function __construct(PermissionResolver $permissionResolver)
|
||||
public function __construct(PermissionManager $permissionResolver)
|
||||
{
|
||||
$this->permissionResolver = $permissionResolver;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace App\Validator\Constraints;
|
|||
|
||||
use App\Entity\UserSystem\Group;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Form\Exception\UnexpectedTypeException;
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
|
@ -53,12 +53,12 @@ use Symfony\Component\Validator\ConstraintValidator;
|
|||
|
||||
class NoLockoutValidator extends ConstraintValidator
|
||||
{
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
protected array $perm_structure;
|
||||
protected Security $security;
|
||||
protected EntityManagerInterface $entityManager;
|
||||
|
||||
public function __construct(PermissionResolver $resolver, Security $security, EntityManagerInterface $entityManager)
|
||||
public function __construct(PermissionManager $resolver, Security $security, EntityManagerInterface $entityManager)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
$this->perm_structure = $resolver->getPermissionStructure();
|
||||
|
|
|
@ -43,17 +43,17 @@ declare(strict_types=1);
|
|||
namespace App\Validator\Constraints;
|
||||
|
||||
use App\Security\Interfaces\HasPermissionsInterface;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use Symfony\Component\Form\Exception\UnexpectedTypeException;
|
||||
use Symfony\Component\Validator\Constraint;
|
||||
use Symfony\Component\Validator\ConstraintValidator;
|
||||
|
||||
class ValidPermissionValidator extends ConstraintValidator
|
||||
{
|
||||
protected PermissionResolver $resolver;
|
||||
protected PermissionManager $resolver;
|
||||
protected array $perm_structure;
|
||||
|
||||
public function __construct(PermissionResolver $resolver)
|
||||
public function __construct(PermissionManager $resolver)
|
||||
{
|
||||
$this->resolver = $resolver;
|
||||
}
|
||||
|
|
|
@ -40,24 +40,24 @@ declare(strict_types=1);
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
namespace App\Tests\Services;
|
||||
namespace App\Tests\Services\UserSystem;
|
||||
|
||||
use App\Entity\UserSystem\Group;
|
||||
use App\Entity\UserSystem\PermissionData;
|
||||
use App\Entity\UserSystem\PermissionsEmbed;
|
||||
use App\Entity\UserSystem\User;
|
||||
use App\Services\PermissionResolver;
|
||||
use App\Services\UserSystem\PermissionManager;
|
||||
use InvalidArgumentException;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||
|
||||
class PermissionResolverTest extends WebTestCase
|
||||
class PermissionManagerTest extends WebTestCase
|
||||
{
|
||||
protected $user_withoutGroup;
|
||||
|
||||
protected $user;
|
||||
protected $group;
|
||||
/**
|
||||
* @var PermissionResolver
|
||||
* @var PermissionManager
|
||||
*/
|
||||
protected $service;
|
||||
|
||||
|
@ -67,7 +67,7 @@ class PermissionResolverTest extends WebTestCase
|
|||
|
||||
//Get an service instance.
|
||||
self::bootKernel();
|
||||
$this->service = self::$container->get(PermissionResolver::class);
|
||||
$this->service = self::$container->get(PermissionManager::class);
|
||||
|
||||
//Set up a mocked user
|
||||
$user_perms = new PermissionData();
|
Loading…
Add table
Add a link
Reference in a new issue