name = generate_random_name(); } public function createGitHubApp() { try { $this->validate([ 'name' => 'required|string', 'organization' => 'nullable|string', 'api_url' => 'required|string', 'html_url' => 'required|string', 'custom_user' => 'required|string', 'custom_port' => 'required|int', 'is_system_wide' => 'required|bool', ]); $payload = [ 'name' => $this->name, 'organization' => $this->organization, 'api_url' => $this->api_url, 'html_url' => $this->html_url, 'custom_user' => $this->custom_user, 'custom_port' => $this->custom_port, 'team_id' => currentTeam()->id, ]; if (isCloud()) { $payload['is_system_wide'] = $this->is_system_wide; } $github_app = GithubApp::create($payload); if (session('from')) { session(['from' => session('from') + ['source_id' => $github_app->id]]); } return redirect()->route('source.github.show', ['github_app_uuid' => $github_app->uuid]); } catch (\Throwable $e) { return handleError($e, $this); } } }