1
0
mirror of https://github.com/flarum/core.git synced 2025-08-06 08:27:42 +02:00

Update for new extension API

This commit is contained in:
Toby Zerner
2015-05-17 10:20:02 +09:30
parent df7552765b
commit 33ba3409d1

View File

@@ -1,9 +1,14 @@
<?php namespace Flarum\Categories; <?php namespace Flarum\Categories;
use Flarum\Support\ServiceProvider; use Flarum\Support\ServiceProvider;
use Flarum\Api\Actions\Discussions\IndexAction as DiscussionsIndexAction; use Flarum\Extend\EventSubscribers;
use Flarum\Api\Actions\Discussions\ShowAction as DiscussionsShowAction; use Flarum\Extend\ForumAssets;
use Illuminate\Contracts\Events\Dispatcher; use Flarum\Extend\PostType;
use Flarum\Extend\DiscussionGambit;
use Flarum\Extend\NotificationType;
use Flarum\Extend\Relationship;
use Flarum\Extend\SerializeRelationship;
use Flarum\Extend\ApiInclude;
class CategoriesServiceProvider extends ServiceProvider class CategoriesServiceProvider extends ServiceProvider
{ {
@@ -12,29 +17,32 @@ class CategoriesServiceProvider extends ServiceProvider
* *
* @return void * @return void
*/ */
public function boot(Dispatcher $events) public function boot()
{ {
$events->subscribe('Flarum\Categories\Handlers\DiscussionMovedNotifier'); $this->extend(
$events->subscribe('Flarum\Categories\Handlers\CategoryPreloader'); new EventSubscribers([
$events->subscribe('Flarum\Categories\Handlers\CategorySaver'); 'Flarum\Categories\Handlers\DiscussionMovedNotifier',
'Flarum\Categories\Handlers\CategoryPreloader',
'Flarum\Categories\Handlers\CategorySaver'
]),
$this->forumAssets([ new ForumAssets([
__DIR__.'/../js/dist/extension.js', __DIR__.'/../js/dist/extension.js',
__DIR__.'/../less/categories.less' __DIR__.'/../less/categories.less'
]); ]),
$this->postType('Flarum\Categories\DiscussionMovedPost'); new PostType('Flarum\Categories\DiscussionMovedPost'),
$this->discussionGambit('Flarum\Categories\CategoryGambit'); new DiscussionGambit('Flarum\Categories\CategoryGambit'),
$this->notificationType('Flarum\Categories\DiscussionMovedNotification', ['alert' => true]); (new NotificationType('Flarum\Categories\DiscussionMovedNotification'))->enableByDefault('alert'),
$this->relationship('Flarum\Core\Models\Discussion', 'belongsTo', 'category', 'Flarum\Categories\Category'); new Relationship('Flarum\Core\Models\Discussion', 'belongsTo', 'category', 'Flarum\Categories\Category'),
$this->serializeRelationship('Flarum\Api\Serializers\DiscussionSerializer', 'hasOne', 'category', 'Flarum\Categories\CategorySerializer'); new SerializeRelationship('Flarum\Api\Serializers\DiscussionSerializer', 'hasOne', 'category', 'Flarum\Categories\CategorySerializer'),
DiscussionsIndexAction::$include['category'] = true; new ApiInclude(['discussions.index', 'discussions.show'], 'category', true)
DiscussionsShowAction::$include['category'] = true; );
} }
/** /**