findDataboxById($databox_id)->get_record($record_id); if (!$story->isStory()) { throw new NotFoundHttpException(); } list($offset, $limit) = V3ResultHelpers::paginationFromRequest($request); $ret = $this->listRecords($request, array_values($story->getChildren($offset, $limit)->get_elements())); return Result::create($request, $ret)->createResponse(); } catch (NotFoundHttpException $e) { return Result::createError($request, 404, 'Story Not Found')->createResponse(); } catch (Exception $e) { return $this->app['controller.api.v1']->getBadRequestAction($request, 'An error occurred'); } } /** * @param Request $request * @param RecordReferenceInterface[]|RecordReferenceCollection $records * @return array */ private function listRecords(Request $request, $records) { if (!$records instanceof RecordReferenceCollection) { $records = new RecordReferenceCollection($records); } $data = []; foreach ($records->toRecords($this->getApplicationBox()) as $index => $record) { // $data[$index] = $this->getResultHelpers()->listRecord($request, $record, $this->getAclForUser()); $data[$index] = $this->getUrlGenerator()->generate( 'api.v3.records:indexAction_GET', [ 'databox_id' => $record->getDataboxId(), 'record_id' => $record->getRecordId(), //'oauth_token' => $request->get('oauth_token') ] ); } return $data; } /** * @return UrlGenerator */ private function getUrlGenerator() { return $this->app['url_generator']; } }