configuration = $configuration; $this->transitionRepo = $transitionRepo; } /** * @return array */ public function list(): array { $configurations = $this->configuration->list(); $list = []; if (count($configurations) > 0) { foreach ($configurations as $conf) { $list[] = new ConfigurationSelectView( $conf['id'], $conf['name'], $conf['module'] ); } } return $list; } public function placeList(int $user_id, string $module): array { $transitions = $this->transitionRepo->findByModule($module); $places = []; foreach ($transitions as $transition) { $find = false; $users = json_decode(json_encode($transition->getUsers()), true); if ($users && is_array($users) && count($users) > 0) { foreach ($users as $user) { if ($user['id'] === $user_id) { $find = true; } } } if ($find) { $places[] = $transition->getStartPlace()->getKey(); } } return $places; } }