1
0
Files
breadcrumb-the-shire/lib/Service/User/UserRepositoryFactory.php
2026-03-04 15:56:58 +01:00

79 lines
2.7 KiB
PHP

<?php
namespace MintyPHP\Service\User;
use MintyPHP\Repository\Access\RoleRepository;
use MintyPHP\Repository\Access\UserRoleRepository;
use MintyPHP\Repository\Org\DepartmentRepository;
use MintyPHP\Repository\Org\UserDepartmentRepository;
use MintyPHP\Repository\Tenant\TenantRepository;
use MintyPHP\Repository\Tenant\UserTenantRepository;
use MintyPHP\Repository\User\UserListQueryRepository;
use MintyPHP\Repository\User\UserReadRepository;
use MintyPHP\Repository\User\UserSavedFilterRepository;
use MintyPHP\Repository\User\UserWriteRepository;
class UserRepositoryFactory
{
private ?UserReadRepository $userReadRepository = null;
private ?UserWriteRepository $userWriteRepository = null;
private ?UserListQueryRepository $userListQueryRepository = null;
private ?UserSavedFilterRepository $userSavedFilterRepository = null;
private ?TenantRepository $tenantRepository = null;
private ?RoleRepository $roleRepository = null;
private ?DepartmentRepository $departmentRepository = null;
private ?UserTenantRepository $userTenantRepository = null;
private ?UserRoleRepository $userRoleRepository = null;
private ?UserDepartmentRepository $userDepartmentRepository = null;
public function createUserReadRepository(): UserReadRepository
{
return $this->userReadRepository ??= new UserReadRepository();
}
public function createUserWriteRepository(): UserWriteRepository
{
return $this->userWriteRepository ??= new UserWriteRepository();
}
public function createUserListQueryRepository(): UserListQueryRepository
{
return $this->userListQueryRepository ??= new UserListQueryRepository();
}
public function createUserSavedFilterRepository(): UserSavedFilterRepository
{
return $this->userSavedFilterRepository ??= new UserSavedFilterRepository();
}
public function createTenantRepository(): TenantRepository
{
return $this->tenantRepository ??= new TenantRepository();
}
public function createRoleRepository(): RoleRepository
{
return $this->roleRepository ??= new RoleRepository();
}
public function createDepartmentRepository(): DepartmentRepository
{
return $this->departmentRepository ??= new DepartmentRepository();
}
public function createUserTenantRepository(): UserTenantRepository
{
return $this->userTenantRepository ??= new UserTenantRepository();
}
public function createUserRoleRepository(): UserRoleRepository
{
return $this->userRoleRepository ??= new UserRoleRepository();
}
public function createUserDepartmentRepository(): UserDepartmentRepository
{
return $this->userDepartmentRepository ??= new UserDepartmentRepository();
}
}