'required', 'application.git_branch' => 'required', 'application.git_commit_sha' => 'nullable', ]; protected $validationAttributes = [ 'application.git_repository' => 'repository', 'application.git_branch' => 'branch', 'application.git_commit_sha' => 'commit sha', ]; public function mount() { $this->get_private_keys(); } private function get_private_keys() { $this->private_keys = PrivateKey::whereTeamId(auth()->user()->currentTeam()->id)->get()->reject(function ($key) { return $key->id == $this->application->private_key_id; }); } public function setPrivateKey(int $private_key_id) { $this->application->private_key_id = $private_key_id; $this->application->save(); $this->application->refresh(); $this->get_private_keys(); } public function submit() { $this->validate(); if (!$this->application->git_commit_sha) { $this->application->git_commit_sha = 'HEAD'; } $this->application->save(); $this->emit('success', 'Application source updated!'); } }