mirror of
https://github.com/flarum/framework.git
synced 2025-02-18 01:42:56 +08:00
For now, inject URL generator instead of providing helper method.
This commit is contained in:
parent
76114f2979
commit
8a57922833
|
@ -4,6 +4,7 @@ use Flarum\Core\Search\Discussions\DiscussionSearchCriteria;
|
|||
use Flarum\Core\Search\Discussions\DiscussionSearcher;
|
||||
use Flarum\Api\Actions\SerializeCollectionAction;
|
||||
use Flarum\Api\JsonApiRequest;
|
||||
use Flarum\Http\UrlGeneratorInterface;
|
||||
use Tobscure\JsonApi\Document;
|
||||
|
||||
class IndexAction extends SerializeCollectionAction
|
||||
|
@ -15,6 +16,13 @@ class IndexAction extends SerializeCollectionAction
|
|||
*/
|
||||
protected $searcher;
|
||||
|
||||
/**
|
||||
* The URL generator.
|
||||
*
|
||||
* @var \Flarum\Http\UrlGeneratorInterface
|
||||
*/
|
||||
protected $url;
|
||||
|
||||
/**
|
||||
* The name of the serializer class to output results with.
|
||||
*
|
||||
|
@ -47,10 +55,12 @@ class IndexAction extends SerializeCollectionAction
|
|||
* Instantiate the action.
|
||||
*
|
||||
* @param \Flarum\Core\Search\Discussions\DiscussionSearcher $searcher
|
||||
* @param \Flarum\Http\UrlGeneratorInterface $url
|
||||
*/
|
||||
public function __construct(DiscussionSearcher $searcher)
|
||||
public function __construct(DiscussionSearcher $searcher, UrlGeneratorInterface $url)
|
||||
{
|
||||
$this->searcher = $searcher;
|
||||
$this->url = $url;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -79,7 +89,7 @@ class IndexAction extends SerializeCollectionAction
|
|||
static::addPaginationLinks(
|
||||
$document,
|
||||
$request,
|
||||
route('flarum.api.discussions.index'),
|
||||
$this->url->toRoute('flarum.api.discussions.index'),
|
||||
$total ?: $results->areMoreResults()
|
||||
);
|
||||
|
||||
|
|
|
@ -46,14 +46,6 @@ abstract class JsonApiAction implements ActionInterface
|
|||
return new Response($data, $status);
|
||||
}
|
||||
|
||||
protected function route($name, array $parameters = [])
|
||||
{
|
||||
/** @var \Flarum\Http\UrlGeneratorInterface $generator */
|
||||
$generator = app('Flarum\Http\UrlGeneratorInterface');
|
||||
|
||||
return $generator->toRoute($name, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle an API request and return an API response.
|
||||
*
|
||||
|
|
|
@ -4,6 +4,7 @@ use Flarum\Core\Search\Users\UserSearchCriteria;
|
|||
use Flarum\Core\Search\Users\UserSearcher;
|
||||
use Flarum\Api\Actions\SerializeCollectionAction;
|
||||
use Flarum\Api\JsonApiRequest;
|
||||
use Flarum\Http\UrlGeneratorInterface;
|
||||
use Tobscure\JsonApi\Document;
|
||||
|
||||
class IndexAction extends SerializeCollectionAction
|
||||
|
@ -15,14 +16,23 @@ class IndexAction extends SerializeCollectionAction
|
|||
*/
|
||||
protected $searcher;
|
||||
|
||||
/**
|
||||
* The URL generator.
|
||||
*
|
||||
* @var \Flarum\Http\UrlGeneratorInterface
|
||||
*/
|
||||
protected $url;
|
||||
|
||||
/**
|
||||
* Instantiate the action.
|
||||
*
|
||||
* @param \Flarum\Core\Search\Users\UserSearcher $searcher
|
||||
* @param \Flarum\Http\UrlGeneratorInterface $url
|
||||
*/
|
||||
public function __construct(UserSearcher $searcher)
|
||||
public function __construct(UserSearcher $searcher, UrlGeneratorInterface $url)
|
||||
{
|
||||
$this->searcher = $searcher;
|
||||
$this->url = $url;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -71,8 +81,12 @@ class IndexAction extends SerializeCollectionAction
|
|||
$document->addMeta('total', $total);
|
||||
}
|
||||
|
||||
// TODO: Add route() method!
|
||||
static::addPaginationLinks($document, $request, 'flarum.api.users.index', $total ?: $results->areMoreResults());
|
||||
static::addPaginationLinks(
|
||||
$document,
|
||||
$request,
|
||||
$this->url->toRoute('flarum.api.users.index'),
|
||||
$total ?: $results->areMoreResults()
|
||||
);
|
||||
|
||||
return $results->getUsers();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user