'desc']; /** * Instantiate the action. * * @param \Flarum\Core\Search\Discussions\DiscussionSearcher $searcher */ public function __construct(DiscussionSearcher $searcher) { $this->searcher = $searcher; } /** * Get the discussion results, ready to be serialized and assigned to the * document response. * * @param \Flarum\Api\JsonApiRequest $request * @param \Flarum\Api\JsonApiResponse $response * @return \Illuminate\Database\Eloquent\Collection */ protected function data(JsonApiRequest $request, JsonApiResponse $response) { $criteria = new DiscussionSearchCriteria( $request->actor->getUser(), $request->get('q'), $request->sort ); $load = array_merge($request->include, ['state']); $results = $this->searcher->search($criteria, $request->limit, $request->offset, $load); if (($total = $results->getTotal()) !== null) { $response->content->addMeta('total', $total); } // $response->content->addMeta('moreUrl', $moreUrl); return $results->getDiscussions(); } }