Example #1
0
 /**
  * Retrieve lock from db
  *
  * @param Request  $request  Request object used in the search profile api
  *
  * @return array Collection of entity objects or only empty array
  */
 public function retrieve(Request $request)
 {
     /** @var \Tasker\Mapper\Lock\Entity $mapper */
     $mapper = DbMapperFactory::make('lock|entity');
     $requestDataArray = $request->getData();
     $mapper->setArrays($requestDataArray);
     $dbAttributesForQuery = $mapper->getMappedSecondAttributes();
     $requestExtraArray = $request->getExtra();
     // Order by
     $orderBy = isset($requestExtraArray[Request::EXTRA_ORDER_BY]) ? $requestExtraArray[Request::EXTRA_ORDER_BY] : [];
     $lockQuery = new LockQuery();
     /** @var \Propel\Runtime\ActiveQuery\ModelCriteria $modelCriteria */
     $modelCriteria = null;
     foreach ($orderBy as $key => $value) {
         $direction = $value == 'asc' ? ModelCriteria::ASC : ModelCriteria::DESC;
         if ($modelCriteria != null) {
             $modelCriteria = $modelCriteria->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction);
         } else {
             $modelCriteria = $lockQuery->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction);
         }
     }
     // Limit
     if (isset($requestExtraArray[Request::EXTRA_LIMIT])) {
         $modelCriteria->limit($requestExtraArray[Request::EXTRA_LIMIT]);
     }
     // Offset
     if (isset($requestExtraArray[Request::EXTRA_OFFSET])) {
         $modelCriteria->offset($requestExtraArray[Request::EXTRA_OFFSET]);
     }
     if ($modelCriteria != null) {
         /** @var \Propel\Runtime\Collection\ObjectCollection $dbEntities */
         $dbEntities = $modelCriteria->findByArray($dbAttributesForQuery);
     } else {
         $dbEntities = $lockQuery->findByArray($dbAttributesForQuery);
     }
     $mapper->setArrays($dbEntities->toArray());
     $this->setEntitiesFromResponse($mapper->getMappedFirstEntities());
 }
Example #2
0
 /**
  * Retrieve task from db
  *
  * @param Request  $request  Request object used in the search profile api
  *
  * @return void
  */
 public function retrieve(Request $request)
 {
     $requestDataArray = $request->getData();
     /** @var \Tasker\Mapper\Task\Entity $mapper */
     $mapper = DbMapperFactory::make('task|entity');
     $mapper->setArrays($requestDataArray);
     $dbAttributesForQuery = $mapper->getMappedSecondAttributes();
     $requestExtraArray = $request->getExtra();
     // Order by
     $orderBy = isset($requestExtraArray[Request::EXTRA_ORDER_BY]) ? $requestExtraArray[Request::EXTRA_ORDER_BY] : [];
     $taskQuery = new TaskQuery();
     foreach ($orderBy as $key => $value) {
         $direction = $value == 'asc' ? ModelCriteria::ASC : ModelCriteria::DESC;
         $taskQuery->orderBy($mapper->getMappedSecondAttributeByOneAttributeValue($key), $direction);
     }
     // Limit
     if (isset($requestExtraArray[Request::EXTRA_LIMIT])) {
         $taskQuery->limit($requestExtraArray[Request::EXTRA_LIMIT]);
     }
     // Offset
     if (isset($requestExtraArray[Request::EXTRA_OFFSET])) {
         $taskQuery->offset($requestExtraArray[Request::EXTRA_OFFSET]);
     }
     $dbEntities = $taskQuery->findByArray($dbAttributesForQuery);
     $mapper->setArrays($dbEntities->toArray());
     $this->setEntitiesFromResponse($mapper->getMappedFirstEntities());
 }