service = $service; $this->searchParamsFetcher = $searchParamsFetcher; } public function getActionList(Request $request): stdClass { $params = $request->getRouteParams(); $scope = $params['scope']; $id = isset($params['id']) ? $params['id'] : null; $searchParams = $this->searchParamsFetcher->fetch($request); $offset = $searchParams->getOffset(); $maxSize = $searchParams->getMaxSize(); $after = $request->getQueryParam('after'); $filter = $request->getQueryParam('filter'); $skipOwn = $request->getQueryParam('skipOwn') === 'true'; $result = $this->service->find($scope, $id, [ 'offset' => $offset, 'maxSize' => $maxSize, 'after' => $after, 'filter' => $filter, 'skipOwn' => $skipOwn, ]); return (object) [ 'total' => $result->total, 'list' => $result->collection->getValueMapList() ]; } public function getActionListPosts(Request $request): stdClass { $params = $request->getRouteParams(); $scope = $params['scope']; $id = isset($params['id']) ? $params['id'] : null; $searchParams = $this->searchParamsFetcher->fetch($request); $offset = $searchParams->getOffset(); $maxSize = $searchParams->getMaxSize(); $after = $request->getQueryParam('after'); $where = $request->getQueryParams()['where'] ?? null; if ($where !== null && !is_array($where)) { throw new BadRequest(); } $result = $this->service->find($scope, $id, [ 'offset' => $offset, 'maxSize' => $maxSize, 'after' => $after, 'filter' => 'posts', 'where' => $where, ]); return (object) [ 'total' => $result->total, 'list' => $result->collection->getValueMapList(), ]; } }