1
0
mirror of https://github.com/flarum/core.git synced 2025-08-10 10:24:46 +02:00

Update for API Client changes

This commit is contained in:
Alexander Skvortsov
2021-05-12 19:58:49 -04:00
parent 706a07429d
commit 494633537e
2 changed files with 11 additions and 17 deletions

View File

@@ -80,9 +80,9 @@ class Tag
'page' => ['offset' => ($page - 1) * 20, 'limit' => 20] 'page' => ['offset' => ($page - 1) * 20, 'limit' => 20]
]; ];
$apiDocument = $this->getApiDocument($actor, $params); $apiDocument = $this->getApiDocument($request, $params);
$tagsDocument = $this->getTagsDocument($actor, $slug); $tagsDocument = $this->getTagsDocument($request, $slug);
$apiDocument->included[] = $tagsDocument->data; $apiDocument->included[] = $tagsDocument->data;
foreach ((array) $tagsDocument->included as $tag) { foreach ((array) $tagsDocument->included as $tag) {
@@ -118,21 +118,16 @@ class Tag
/** /**
* Get the result of an API request to list discussions. * Get the result of an API request to list discussions.
*
* @param User $actor
* @param array $params
* @return object
*/ */
private function getApiDocument(User $actor, array $params) private function getApiDocument(Request $request, array $params)
{ {
return json_decode($this->api->send(ListDiscussionsController::class, $actor, $params)->getBody()); return json_decode($this->api->withParentRequest($request)->withQueryParams($params)->get('/discussions')->getBody());
} }
private function getTagsDocument(User $actor, string $slug) private function getTagsDocument(Request $request, string $slug)
{ {
return json_decode($this->api->send(ShowTagController::class, $actor, [ return json_decode($this->api->withParentRequest($request)->withQueryParams([
'slug' => $slug,
'include' => 'children,children.parent,parent,parent.children.parent,state' 'include' => 'children,children.parent,parent,parent.children.parent,state'
])->getBody()); ])->get("/tags/$slug")->getBody());
} }
} }

View File

@@ -11,7 +11,6 @@ namespace Flarum\Tags\Content;
use Flarum\Api\Client; use Flarum\Api\Client;
use Flarum\Frontend\Document; use Flarum\Frontend\Document;
use Flarum\Http\RequestUtil;
use Flarum\Http\UrlGenerator; use Flarum\Http\UrlGenerator;
use Flarum\Settings\SettingsRepositoryInterface; use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\Tags\Api\Controller\ListTagsController; use Flarum\Tags\Api\Controller\ListTagsController;
@@ -80,7 +79,7 @@ class Tags
public function __invoke(Document $document, Request $request) public function __invoke(Document $document, Request $request)
{ {
$apiDocument = $this->getTagsDocument(RequestUtil::getActor($request)); $apiDocument = $this->getTagsDocument($request);
$tags = collect(Arr::get($apiDocument, 'data', [])); $tags = collect(Arr::get($apiDocument, 'data', []));
$childTags = $tags->where('attributes.isChild', true); $childTags = $tags->where('attributes.isChild', true);
@@ -103,10 +102,10 @@ class Tags
return $document; return $document;
} }
private function getTagsDocument(User $actor) private function getTagsDocument(Request $request)
{ {
return json_decode($this->api->send(ListTagsController::class, $actor, [ return json_decode($this->api->withParentRequest($request)->withQueryParams([
'include' => 'children,lastPostedDiscussion' 'include' => 'children,lastPostedDiscussion'
])->getBody(), true); ])->get('/tags')->getBody(), true);
} }
} }