Rev 6849 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Command;use Symfony\Component\Console\Command\Command;use Symfony\Component\Console\Input\InputInterface;use Symfony\Component\Console\Output\OutputInterface;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Cache\Storage\Adapter\AbstractAdapter;use Laminas\Log\LoggerInterface;use LeadersLinked\Mapper\UserMapper;use LeadersLinked\Mapper\CompanyMapper;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Model\User;use LeadersLinked\Model\UserType;use LeadersLinked\Model\CompanyUser;class CheckDefaultFollowerAndConnectionForDefaultNetworkCommand extends Command{/**** @var AdapterInterface*/private $adapter;/**** @var AbstractAdapter*/private $cache;/**** @var LoggerInterface*/private $logger;/**** @var array*/private $config;/**** @param AdapterInterface $adapter* @param AbstractAdapter $cache* @param LoggerInterface $logger* @param array $config*/public function __construct($adapter, $cache, $logger, $config){$this->adapter = $adapter;$this->cache = $cache;$this->logger = $logger;$this->config = $config;parent::__construct();}protected function execute(InputInterface $input, OutputInterface $output) : int{$output->writeln('Cargando las empresas');$companyMapper = CompanyMapper::getInstance($this->adapter);$companyUserMapper = CompanyUserMapper::getInstance($this->adapter);$companies = $companyMapper->fetchAll();foreach($companies as $company){$user = $companyUserMapper->fetchOwnerByCompanyId($company->id);if(!$user) {$output->writeln('Agregando el propietario de la empresa : ' . $company->name);/** Creación del fake user propietario de la empresa */$user = new User();$user->email = 'fake-email'.$company->id;$user->first_name = substr($company->name, 0, 64);$user->last_name = substr($company->name, 64);$user->status = User::STATUS_INACTIVE;$user->blocked = User::BLOCKED_YES;$user->login_attempt = 0;$user->email_verified = User::EMAIL_VERIFIED_YES;$user->show_in_search = User::SHOW_IN_SEARCH_NO;$user->password = 'NO-PASSWORD';$user->usertype_id = UserType::COMPANY;$userMapper = UserMapper::getInstance($this->adapter);if($userMapper->insert($user)) {$companyUser = new CompanyUser();$companyUser->backend = CompanyUser::BACKEND_NO;$companyUser->company_id = $company->id;$companyUser->creator = CompanyUser::CREATOR_NO;$companyUser->owner = CompanyUser::OWNER_YES;$companyUser->status = CompanyUser::STATUS_ACCEPTED;$companyUser->user_id = $user->id;$companyUserMapper->insert($companyUser);}}}$output->writeln('Fin del proceso');return 0;}}