From 649f71d25a533c8602bb9156565204e6276cc051 Mon Sep 17 00:00:00 2001 From: Franz Liedke Date: Fri, 24 Apr 2020 15:56:18 +0200 Subject: [PATCH] Use new Model extender --- extensions/tags/extend.php | 5 +++++ .../Listener/AddDiscussionTagsRelationship.php | 15 --------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/extensions/tags/extend.php b/extensions/tags/extend.php index da9e58cc8..702f77127 100644 --- a/extensions/tags/extend.php +++ b/extensions/tags/extend.php @@ -8,12 +8,14 @@ */ use Flarum\Api\Event\Serializing; +use Flarum\Discussion\Discussion; use Flarum\Discussion\Event\Saving; use Flarum\Extend; use Flarum\Tags\Access; use Flarum\Tags\Api\Controller; use Flarum\Tags\Content; use Flarum\Tags\Listener; +use Flarum\Tags\Tag; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\View\Factory; @@ -35,6 +37,9 @@ return [ ->patch('/tags/{id}', 'tags.update', Controller\UpdateTagController::class) ->delete('/tags/{id}', 'tags.delete', Controller\DeleteTagController::class), + (new Extend\Model(Discussion::class)) + ->belongsToMany('tags', Tag::class, 'discussion_tag'), + function (Dispatcher $events, Factory $view) { $events->subscribe(Listener\AddDiscussionTagsRelationship::class); diff --git a/extensions/tags/src/Listener/AddDiscussionTagsRelationship.php b/extensions/tags/src/Listener/AddDiscussionTagsRelationship.php index 2c3e53a73..4500fc9e0 100755 --- a/extensions/tags/src/Listener/AddDiscussionTagsRelationship.php +++ b/extensions/tags/src/Listener/AddDiscussionTagsRelationship.php @@ -13,10 +13,7 @@ use Flarum\Api\Controller; use Flarum\Api\Event\Serializing; use Flarum\Api\Event\WillGetData; use Flarum\Api\Serializer\DiscussionSerializer; -use Flarum\Discussion\Discussion; use Flarum\Event\GetApiRelationship; -use Flarum\Event\GetModelRelationship; -use Flarum\Tags\Tag; use Illuminate\Contracts\Events\Dispatcher; class AddDiscussionTagsRelationship @@ -26,23 +23,11 @@ class AddDiscussionTagsRelationship */ public function subscribe(Dispatcher $events) { - $events->listen(GetModelRelationship::class, [$this, 'getModelRelationship']); $events->listen(GetApiRelationship::class, [$this, 'getApiRelationship']); $events->listen(WillGetData::class, [$this, 'includeTagsRelationship']); $events->listen(Serializing::class, [$this, 'prepareApiAttributes']); } - /** - * @param GetModelRelationship $event - * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany|null - */ - public function getModelRelationship(GetModelRelationship $event) - { - if ($event->isRelationship(Discussion::class, 'tags')) { - return $event->model->belongsToMany(Tag::class, 'discussion_tag', null, null, null, null, 'tags'); - } - } - /** * @param GetApiRelationship $event * @return \Tobscure\JsonApi\Relationship|null