You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.1KB

  1. <?php
  2. namespace Lc\SovBundle\Container\User;
  3. use App\Entity\User\User;
  4. use Lc\SovBundle\Builder\User\UserBuilder;
  5. use Lc\SovBundle\Definition\Field\User\UserFieldDefinition;
  6. use Lc\SovBundle\Definition\RolesDefinitionInterface;
  7. use Lc\SovBundle\Factory\User\UserFactory;
  8. use Lc\SovBundle\Repository\User\UserRepositoryQuery;
  9. use Lc\SovBundle\Repository\User\UserStore;
  10. use Lc\SovBundle\Solver\User\UserSolver;
  11. class UserContainer
  12. {
  13. protected UserFactory $factory;
  14. protected UserBuilder $builder;
  15. protected UserRepositoryQuery $repositoryQuery;
  16. protected UserStore $store;
  17. protected UserSolver $solver;
  18. protected UserFieldDefinition $fieldDefinition;
  19. protected RolesDefinitionInterface $rolesDefinition;
  20. public function __construct(
  21. UserFactory $factory,
  22. UserBuilder $builder,
  23. UserRepositoryQuery $repositoryQuery,
  24. UserStore $store,
  25. UserSolver $solver,
  26. UserFieldDefinition $fieldDefinition,
  27. RolesDefinitionInterface $rolesDefinition
  28. ) {
  29. $this->factory = $factory;
  30. $this->builder = $builder;
  31. $this->repositoryQuery = $repositoryQuery;
  32. $this->store = $store;
  33. $this->solver = $solver;
  34. $this->fieldDefinition = $fieldDefinition;
  35. $this->rolesDefinition = $rolesDefinition;
  36. }
  37. public static function getEntityFqcn()
  38. {
  39. return User::class;
  40. }
  41. public function getFactory(): UserFactory
  42. {
  43. return $this->factory;
  44. }
  45. public function getBuilder(): UserBuilder
  46. {
  47. return $this->builder;
  48. }
  49. public function getRepositoryQuery(): UserRepositoryQuery
  50. {
  51. return $this->repositoryQuery;
  52. }
  53. public function getStore(): UserStore
  54. {
  55. return $this->store;
  56. }
  57. public function getSolver(): UserSolver
  58. {
  59. return $this->solver;
  60. }
  61. public function getFieldDefinition(): UserFieldDefinition
  62. {
  63. return $this->fieldDefinition;
  64. }
  65. public function getRoleDefinition(): RolesDefinitionInterface
  66. {
  67. return $this->rolesDefinition;
  68. }
  69. }