Example #1
0
 protected function handleRequest(array $request)
 {
     $version = $request[self::FIELD_PROTOCOL_VERSION];
     $projectTitle = $request[self::FIELD_TITLE];
     $projectDescription = $request[self::FIELD_DESCRIPTION];
     $projectId = Project::create(Project::getNextOrd(), $projectTitle, $projectDescription);
     $listsRep = $request[self::FIELD_LISTS];
     $listOrd = 0;
     foreach ($listsRep as $listRep) {
         $listTitle = $listRep[self::FIELD_TITLE];
         $listId = TasksList::create($projectId, ++$listOrd, $listTitle);
         $tasksRep = $listRep[self::FIELD_TASKS];
         $taskOrd = 0;
         foreach ($tasksRep as $taskRep) {
             $taskTitle = $taskRep[self::FIELD_TITLE];
             $taskDescription = $taskRep[self::FIELD_DESCRIPTION];
             $taskId = Task::create($listId, ++$taskOrd, $taskTitle, $taskDescription);
             if ($version > 1) {
                 $taskStatus = $taskRep[self::FIELD_TASK_STATUS];
                 Task::updateStatus($taskId, $taskStatus);
             }
         }
     }
     return array(self::FIELD_PROJECT_ID => $projectId);
 }
Example #2
0
 protected function handleRequest(array $request)
 {
     $projectId = $request[self::FIELD_PROJECT_ID];
     $beforeId = $request[self::FIELD_BEFORE_LIST_ID];
     $title = $request[self::FIELD_TITLE];
     Project::lock($projectId);
     $ord = null;
     if ($beforeId) {
         $beforeList = TasksList::fetch($beforeId);
         if ($beforeList->getProjectId() !== $projectId) {
             throw new Exception("Insertion point for a new list is in another project", EndPoint::STATUS_BAD_REQUEST);
         }
         $ord = $beforeList->getOrd();
         TasksList::shiftRight($projectId, $ord);
     } else {
         $ord = TasksList::getNextOrd($projectId);
     }
     $listId = TasksList::create($projectId, $ord, $title);
     return array(self::FIELD_LIST_ID => $listId);
 }