1
0
mirror of https://github.com/flarum/core.git synced 2025-08-09 18:07:02 +02:00

Use new extenders (#23)

This commit is contained in:
Sami Mazouz
2020-12-08 20:04:22 +01:00
committed by GitHub
parent def0faa7c3
commit bebced2d53
2 changed files with 14 additions and 42 deletions

View File

@@ -7,6 +7,8 @@
* LICENSE file that was distributed with this source code.
*/
use Flarum\Api\Serializer\BasicDiscussionSerializer;
use Flarum\Api\Serializer\PostSerializer;
use Flarum\Approval\Access;
use Flarum\Approval\Listener;
use Flarum\Discussion\Discussion;
@@ -30,10 +32,21 @@ return [
(new Extend\Model(Post::class))
->default('is_approved', true),
(new Extend\ApiSerializer(BasicDiscussionSerializer::class))
->attribute('isApproved', function ($serializer, Discussion $discussion) {
return (bool) $discussion->is_approved;
}),
(new Extend\ApiSerializer(PostSerializer::class))
->attribute('isApproved', function ($serializer, Post $post) {
return (bool) $post->is_approved;
})->attribute('canApprove', function (PostSerializer $serializer, Post $post) {
return (bool) $serializer->getActor()->can('approvePosts', $post->discussion);
}),
new Extend\Locales(__DIR__.'/locale'),
function (Dispatcher $events) {
$events->subscribe(Listener\AddPostApprovalAttributes::class);
$events->subscribe(Listener\ApproveContent::class);
$events->subscribe(Listener\UnapproveNewContent::class);