/** * @covers \NewFrontiers\Framework\Core\Request::getArray * @covers \NewFrontiers\Framework\Core\Request::present */ public function testConstructor() { $test = ['key' => 'value']; $request = new Request($test); $this->assertCount(1, $request->getArray()); $this->assertTrue($request->present('key')); $this->assertEquals('value', $request->key); }
/** * @param Request $filter * @return ApiResource[] */ public function filter($filter) { $maxResults = -1; if ($filter->present('$top')) { $name = '$top'; $maxResults = $filter->{$name}; } $skip = 0; if ($filter->present('$skip')) { $name = '$skip'; $skip = $filter->{$name}; } $entities = $this->entityRepository->filter($filter, $maxResults, $skip); $result = []; foreach ($entities as $entity) { $result[] = $this->getResourceFromEntity($entity); } return $result; }
/** * Bearbeitet einen Request. Ist diese Instanz zuständig, so wir der Request * ausgeführt. Wenn nicht, dann wird false zuurückgegen. * * @param Request $request * @param Response $response * @return bool */ public function handleResourceRequest(Request $request, Response $response) { if ($this->isResourceRequest($request->action)) { // TODO: Für die Berechtigungsprüfung braucht man die Action noch. // TODO: Ggf. als Resource erfassen um das loszuwerden? Logging::debug('Handling Request via ' . (string) $this); if ($request->present('id')) { $this->resource = $this->loadOrCreateResource($request->id); } else { $this->resource = $this->loadOrCreateResource(); } $callable = $this->possibleActions[$request->action]; $callable($request, $response); if ($response->getContent() instanceof View) { $response->getContent()->setResource($this->resource); } return true; } return false; }