/** * farm.launch | farm.terminate handler * * @param Entity\Farm|DBFarm $farm Farm instance * @param array $additional Additional fields to log * * @return array Returns array of the fields to log */ protected function handlerFarmLaunch($farm, array $additional = null) { if ($farm instanceof DBFarm) { //We have to start the data key with the dot because it contains dot itself. $data = ['.farm_id' => $farm->ID, '.farm_name' => $farm->Name, '.owner.user_id' => $farm->ownerId, '.owner.user_email' => $farm->createdByUserEmail, '.owner.teams' => Entity\FarmTeam::getTeamIdsByFarmId($farm->ID)]; } else { if ($farm instanceof Entity\Farm) { $data = ['.farm_id' => $farm->id, '.farm_name' => $farm->name, '.owner.user_id' => $farm->ownerId, '.owner.user_email' => $farm->createdByEmail, '.owner.teams' => Entity\FarmTeam::getTeamIdsByFarmId($farm->id)]; } } $result = isset($data) ? $data : $farm; if (!empty($additional)) { $result = array_merge($result, $additional); } return $result; }