public function assignmentGroups(AssignmentGroupsRequest $request) { switch ($request->getActionType()) { case ActionType::GET: if (!$request->getFresh_data()) { $data = $this->dbHelper->getAssignmentGroupData($request); switch (get_class($data)) { case "Illuminate\\Database\\Eloquent\\Collection": return !$data->isEmpty() ? $data : $this->getAssignmentGroupDataFromLms($request); default: return !is_null($data) ? $data : $this->getAssignmentGroupDataFromLms($request); } } else { return $this->getAssignmentGroupDataFromLms($request); } break; default: throw new InvalidActionException($request->getActionType(), get_class($request)); } }