mirror of
https://github.com/flarum/framework.git
synced 2025-03-10 04:05:30 +08:00
Update APIs
This commit is contained in:
parent
35ca32a733
commit
0892a979be
@ -1,42 +1,37 @@
|
|||||||
<?php namespace Flarum\Sticky;
|
<?php namespace Flarum\Sticky;
|
||||||
|
|
||||||
use Flarum\Support\ServiceProvider;
|
use Flarum\Support\ServiceProvider;
|
||||||
use Flarum\Extend\EventSubscribers;
|
use Flarum\Extend;
|
||||||
use Flarum\Extend\ForumAssets;
|
|
||||||
use Flarum\Extend\PostType;
|
|
||||||
use Flarum\Extend\SerializeAttributes;
|
|
||||||
use Flarum\Extend\DiscussionGambit;
|
|
||||||
use Flarum\Extend\NotificationType;
|
|
||||||
use Flarum\Extend\Permission;
|
|
||||||
|
|
||||||
class StickyServiceProvider extends ServiceProvider
|
class StickyServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
$this->extend(
|
$this->extend(
|
||||||
new EventSubscribers([
|
new Extend\EventSubscriber([
|
||||||
'Flarum\Sticky\Handlers\StickySaver',
|
'Flarum\Sticky\Handlers\StickySaver',
|
||||||
'Flarum\Sticky\Handlers\StickySearchModifier',
|
'Flarum\Sticky\Handlers\StickySearchModifier',
|
||||||
'Flarum\Sticky\Handlers\DiscussionStickiedNotifier'
|
'Flarum\Sticky\Handlers\DiscussionStickiedNotifier'
|
||||||
]),
|
]),
|
||||||
|
|
||||||
new ForumAssets([
|
(new Extend\ForumClient())
|
||||||
|
->assets([
|
||||||
__DIR__.'/../js/dist/extension.js',
|
__DIR__.'/../js/dist/extension.js',
|
||||||
__DIR__.'/../less/sticky.less'
|
__DIR__.'/../less/sticky.less'
|
||||||
]),
|
]),
|
||||||
|
|
||||||
new PostType('Flarum\Sticky\DiscussionStickiedPost'),
|
new Extend\PostType('Flarum\Sticky\DiscussionStickiedPost'),
|
||||||
|
|
||||||
new SerializeAttributes('Flarum\Api\Serializers\DiscussionSerializer', function (&$attributes, $model, $serializer) {
|
(new Extend\ApiSerializer('Flarum\Api\Serializers\DiscussionSerializer'))
|
||||||
|
->attributes(function (&$attributes, $model, $user) {
|
||||||
$attributes['isSticky'] = (bool) $model->is_sticky;
|
$attributes['isSticky'] = (bool) $model->is_sticky;
|
||||||
$attributes['canSticky'] = (bool) $model->can($serializer->actor->getUser(), 'sticky');
|
$attributes['canSticky'] = (bool) $model->can($user, 'sticky');
|
||||||
}),
|
}),
|
||||||
|
|
||||||
new DiscussionGambit('Flarum\Sticky\StickyGambit'),
|
new Extend\DiscussionGambit('Flarum\Sticky\StickyGambit'),
|
||||||
|
|
||||||
(new NotificationType('Flarum\Sticky\DiscussionStickiedNotification', 'Flarum\Api\Serializers\DiscussionBasicSerializer'))->enableByDefault('alert'),
|
(new Extend\NotificationType('Flarum\Sticky\DiscussionStickiedNotification', 'Flarum\Api\Serializers\DiscussionBasicSerializer'))
|
||||||
|
->enableByDefault('alert')
|
||||||
new Permission('discussion.sticky')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user