Example #1
0
 /**
  * @param \FREST\URL\Request $urlRequest
  * @return Request\Read
  */
 protected static function constructReadRequestWithParameters($urlRequest)
 {
     $parameters = $urlRequest->getParameters();
     $resourceID = $urlRequest->getResourceID();
     $fields = NULL;
     $filters = NULL;
     $orderBys = NULL;
     $limit = NULL;
     $offset = NULL;
     if (isset($resourceID)) {
         $limit = 1;
         $filters['id'] = $resourceID;
     } else {
         $filters = $parameters;
         if (isset($parameters['limit'])) {
             // TODO: typecheck
             $limit = intval($parameters['limit']);
             unset($filters['limit']);
         }
         if (isset($parameters['offset'])) {
             // TODO: typecheck
             $offset = intval($parameters['offset']);
             unset($filters['offset']);
         }
         if (isset($parameters['orderBy'])) {
             $orderBys = explode(',', $parameters['orderBy']);
             unset($filters['orderBy']);
         }
     }
     if (isset($parameters['fields'])) {
         $fields = explode(',', $parameters['fields']);
         unset($filters['fields']);
     }
     $resourceRequest = new Request\Read($urlRequest->getResourceName(), $fields, $filters, $orderBys, $limit, $offset);
     return $resourceRequest;
 }