Example #1
0
 public function modules(ModulesRequest $request)
 {
     switch ($request->getActionType()) {
         case ActionType::GET:
             if (!$request->getFreshData()) {
                 $data = $this->dbHelper->getModuleData($request);
                 //depending on the request we can get an eloquent collection or one of our models. Need to validate them differently
                 switch (get_class($data)) {
                     case "Illuminate\\Database\\Eloquent\\Collection":
                         return !$data->isEmpty() ? $data : $this->getModuleDataFromLms($request);
                     default:
                         return !is_null($data) ? $data : $this->getModuleDataFromLms($request);
                 }
             } else {
                 return $this->getModuleDataFromLms($request);
             }
             break;
         case ActionType::PUT:
             switch ($request->getLms()) {
                 case Lms::CANVAS:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->putModuleData($request);
                 default:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->putModuleData($request);
             }
             break;
         case ActionType::POST:
             switch ($request->getLms()) {
                 case Lms::CANVAS:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->postModuleData($request);
                 default:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->postModuleData($request);
             }
             break;
         case ActionType::DELETE:
             switch ($request->getLms()) {
                 case Lms::CANVAS:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->deleteModuleData($request);
                 default:
                     $canvas = new CanvasHelper(DataType::MODULES);
                     return $canvas->deleteModuleData($request);
             }
             break;
     }
 }