mirror of
https://github.com/flarum/core.git
synced 2025-08-16 13:24:11 +02:00
Use new extenders (#58)
This commit is contained in:
@@ -7,12 +7,14 @@
|
||||
* LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Flarum\Api\Event\WillSerializeData;
|
||||
use Flarum\Api\Controller;
|
||||
use Flarum\Api\Serializer\BasicPostSerializer;
|
||||
use Flarum\Api\Serializer\PostSerializer;
|
||||
use Flarum\Event\ConfigurePostsQuery;
|
||||
use Flarum\Extend;
|
||||
use Flarum\Formatter\Event\Rendering;
|
||||
use Flarum\Mentions\ConfigureMentions;
|
||||
use Flarum\Mentions\FilterVisiblePosts;
|
||||
use Flarum\Mentions\Listener;
|
||||
use Flarum\Mentions\Notification\PostMentionedBlueprint;
|
||||
use Flarum\Mentions\Notification\UserMentionedBlueprint;
|
||||
@@ -47,21 +49,35 @@ return [
|
||||
->type(PostMentionedBlueprint::class, PostSerializer::class, ['alert'])
|
||||
->type(UserMentionedBlueprint::class, PostSerializer::class, ['alert']),
|
||||
|
||||
(new Extend\ApiSerializer(BasicPostSerializer::class))
|
||||
->hasMany('mentionedBy', BasicPostSerializer::class)
|
||||
->hasMany('mentionsPosts', BasicPostSerializer::class)
|
||||
->hasMany('mentionsUsers', BasicPostSerializer::class),
|
||||
|
||||
(new Extend\ApiController(Controller\ShowDiscussionController::class))
|
||||
->addInclude(['posts.mentionedBy', 'posts.mentionedBy.user', 'posts.mentionedBy.discussion']),
|
||||
|
||||
(new Extend\ApiController(Controller\ShowPostController::class))
|
||||
->addInclude(['mentionedBy', 'mentionedBy.user', 'mentionedBy.discussion']),
|
||||
|
||||
(new Extend\ApiController(Controller\ListPostsController::class))
|
||||
->addInclude(['mentionedBy', 'mentionedBy.user', 'mentionedBy.discussion']),
|
||||
|
||||
(new Extend\ApiController(Controller\CreatePostController::class))
|
||||
->addInclude(['mentionsPosts', 'mentionsPosts.mentionedBy']),
|
||||
|
||||
(new Extend\ApiController(Controller\AbstractSerializeController::class))
|
||||
->prepareDataForSerialization(FilterVisiblePosts::class),
|
||||
|
||||
(new Extend\Event())
|
||||
->listen(Posted::class, Listener\UpdateMentionsMetadataWhenVisible::class)
|
||||
->listen(Restored::class, Listener\UpdateMentionsMetadataWhenVisible::class)
|
||||
->listen(Revised::class, Listener\UpdateMentionsMetadataWhenVisible::class)
|
||||
->listen(Hidden::class, Listener\UpdateMentionsMetadataWhenInvisible::class)
|
||||
->listen(Deleted::class, Listener\UpdateMentionsMetadataWhenInvisible::class)
|
||||
->listen(ConfigurePostsQuery::class, Listener\AddFilterByMentions::class),
|
||||
|
||||
function (Dispatcher $events) {
|
||||
$events->listen(WillSerializeData::class, Listener\FilterVisiblePosts::class);
|
||||
$events->subscribe(Listener\AddPostMentionedByRelationship::class);
|
||||
|
||||
$events->listen(
|
||||
[Posted::class, Restored::class, Revised::class],
|
||||
Listener\UpdateMentionsMetadataWhenVisible::class
|
||||
);
|
||||
$events->listen(
|
||||
[Deleted::class, Hidden::class],
|
||||
Listener\UpdateMentionsMetadataWhenInvisible::class
|
||||
);
|
||||
|
||||
$events->listen(ConfigurePostsQuery::class, Listener\AddFilterByMentions::class);
|
||||
|
||||
$events->listen(Rendering::class, Listener\FormatPostMentions::class);
|
||||
$events->listen(Rendering::class, Listener\FormatUserMentions::class);
|
||||
},
|
||||
|
Reference in New Issue
Block a user