Files
breadcrumb-the-shire/lib/Service/Import/Profile/UserImportGateway.php
2026-02-23 12:58:19 +01:00

63 lines
1.6 KiB
PHP

<?php
namespace MintyPHP\Service\Import\Profile;
use MintyPHP\Repository\Access\RoleRepository;
use MintyPHP\Repository\Org\DepartmentRepository;
use MintyPHP\Repository\Tenant\TenantRepository;
use MintyPHP\Repository\User\UserReadRepository;
use MintyPHP\Service\User\UserAccountService;
class UserImportGateway
{
public function __construct(
private readonly UserReadRepository $userReadRepository,
private readonly UserAccountService $userAccountService
) {
}
public function findUserByEmail(string $email): ?array
{
return $this->userReadRepository->findByEmail($email);
}
public function findTenantByUuid(string $uuid): ?array
{
return (new TenantRepository())->findByUuid($uuid);
}
public function findTenantById(int $id): ?array
{
return (new TenantRepository())->find($id);
}
public function findRoleByUuid(string $uuid): ?array
{
return (new RoleRepository())->findByUuid($uuid);
}
public function findRoleById(int $id): ?array
{
return (new RoleRepository())->find($id);
}
public function findDepartmentByUuid(string $uuid): ?array
{
return (new DepartmentRepository())->findByUuid($uuid);
}
public function findDepartmentById(int $id): ?array
{
return (new DepartmentRepository())->find($id);
}
/**
* @param array<string, mixed> $input
* @return array<string, mixed>
*/
public function createUserFromAdmin(array $input, int $currentUserId): array
{
return $this->userAccountService->createFromAdmin($input, $currentUserId);
}
}