mirror of
https://github.com/flarum/core.git
synced 2025-08-04 15:37:51 +02:00
@@ -9,8 +9,8 @@
|
|||||||
* file that was distributed with this source code.
|
* file that was distributed with this source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use Flarum\Core\Group;
|
|
||||||
use Flarum\Database\Migration;
|
use Flarum\Database\Migration;
|
||||||
|
use Flarum\Group\Group;
|
||||||
|
|
||||||
return Migration::addPermissions([
|
return Migration::addPermissions([
|
||||||
'discussion.flagPosts' => Group::MEMBER_ID,
|
'discussion.flagPosts' => Group::MEMBER_ID,
|
||||||
|
@@ -12,8 +12,8 @@
|
|||||||
namespace Flarum\Flags\Api\Serializer;
|
namespace Flarum\Flags\Api\Serializer;
|
||||||
|
|
||||||
use Flarum\Api\Serializer\AbstractSerializer;
|
use Flarum\Api\Serializer\AbstractSerializer;
|
||||||
|
use Flarum\Api\Serializer\BasicUserSerializer;
|
||||||
use Flarum\Api\Serializer\PostSerializer;
|
use Flarum\Api\Serializer\PostSerializer;
|
||||||
use Flarum\Api\Serializer\UserBasicSerializer;
|
|
||||||
|
|
||||||
class FlagSerializer extends AbstractSerializer
|
class FlagSerializer extends AbstractSerializer
|
||||||
{
|
{
|
||||||
@@ -48,6 +48,6 @@ class FlagSerializer extends AbstractSerializer
|
|||||||
*/
|
*/
|
||||||
protected function user($flag)
|
protected function user($flag)
|
||||||
{
|
{
|
||||||
return $this->hasOne($flag, UserBasicSerializer::class);
|
return $this->hasOne($flag, BasicUserSerializer::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Command;
|
namespace Flarum\Flags\Command;
|
||||||
|
|
||||||
use Flarum\Core\User;
|
use Flarum\User\User;
|
||||||
|
|
||||||
class CreateFlag
|
class CreateFlag
|
||||||
{
|
{
|
||||||
|
@@ -11,10 +11,10 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Command;
|
namespace Flarum\Flags\Command;
|
||||||
|
|
||||||
use Flarum\Core\Access\AssertPermissionTrait;
|
|
||||||
use Flarum\Core\Post\CommentPost;
|
|
||||||
use Flarum\Core\Repository\PostRepository;
|
|
||||||
use Flarum\Flags\Flag;
|
use Flarum\Flags\Flag;
|
||||||
|
use Flarum\Post\Post\CommentPost;
|
||||||
|
use Flarum\Post\PostRepository;
|
||||||
|
use Flarum\User\AssertPermissionTrait;
|
||||||
use Tobscure\JsonApi\Exception\InvalidParameterException;
|
use Tobscure\JsonApi\Exception\InvalidParameterException;
|
||||||
|
|
||||||
class CreateFlagHandler
|
class CreateFlagHandler
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Command;
|
namespace Flarum\Flags\Command;
|
||||||
|
|
||||||
use Flarum\Core\User;
|
use Flarum\User\User;
|
||||||
|
|
||||||
class DeleteFlags
|
class DeleteFlags
|
||||||
{
|
{
|
||||||
|
@@ -11,10 +11,10 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Command;
|
namespace Flarum\Flags\Command;
|
||||||
|
|
||||||
use Flarum\Core\Access\AssertPermissionTrait;
|
|
||||||
use Flarum\Core\Repository\PostRepository;
|
|
||||||
use Flarum\Flags\Event\FlagsWillBeDeleted;
|
use Flarum\Flags\Event\FlagsWillBeDeleted;
|
||||||
use Flarum\Flags\Flag;
|
use Flarum\Flags\Flag;
|
||||||
|
use Flarum\Post\PostRepository;
|
||||||
|
use Flarum\User\AssertPermissionTrait;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
class DeleteFlagsHandler
|
class DeleteFlagsHandler
|
||||||
|
@@ -11,8 +11,8 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Event;
|
namespace Flarum\Flags\Event;
|
||||||
|
|
||||||
use Flarum\Core\Post;
|
use Flarum\Post\Post;
|
||||||
use Flarum\Core\User;
|
use Flarum\User\User;
|
||||||
|
|
||||||
class FlagsWillBeDeleted
|
class FlagsWillBeDeleted
|
||||||
{
|
{
|
||||||
|
@@ -11,10 +11,10 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags;
|
namespace Flarum\Flags;
|
||||||
|
|
||||||
use Flarum\Core\Post;
|
|
||||||
use Flarum\Core\Support\ScopeVisibilityTrait;
|
|
||||||
use Flarum\Core\User;
|
|
||||||
use Flarum\Database\AbstractModel;
|
use Flarum\Database\AbstractModel;
|
||||||
|
use Flarum\Database\ScopeVisibilityTrait;
|
||||||
|
use Flarum\Post\Post;
|
||||||
|
use Flarum\User\User;
|
||||||
|
|
||||||
class Flag extends AbstractModel
|
class Flag extends AbstractModel
|
||||||
{
|
{
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Listener;
|
namespace Flarum\Flags\Listener;
|
||||||
|
|
||||||
use Flarum\Event\ConfigureWebApp;
|
use Flarum\Frontend\Event\Rendering;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
class AddClientAssets
|
class AddClientAssets
|
||||||
@@ -21,13 +21,13 @@ class AddClientAssets
|
|||||||
*/
|
*/
|
||||||
public function subscribe(Dispatcher $events)
|
public function subscribe(Dispatcher $events)
|
||||||
{
|
{
|
||||||
$events->listen(ConfigureWebApp::class, [$this, 'addAssets']);
|
$events->listen(Rendering::class, [$this, 'addAssets']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ConfigureClientView $event
|
* @param Rendering $event
|
||||||
*/
|
*/
|
||||||
public function addAssets(ConfigureWebApp $event)
|
public function addAssets(Rendering $event)
|
||||||
{
|
{
|
||||||
if ($event->isForum()) {
|
if ($event->isForum()) {
|
||||||
$event->addAssets([
|
$event->addAssets([
|
||||||
|
@@ -11,16 +11,16 @@
|
|||||||
|
|
||||||
namespace Flarum\Flags\Listener;
|
namespace Flarum\Flags\Listener;
|
||||||
|
|
||||||
|
use Flarum\Api\Event\Serializing;
|
||||||
use Flarum\Api\Serializer\CurrentUserSerializer;
|
use Flarum\Api\Serializer\CurrentUserSerializer;
|
||||||
use Flarum\Api\Serializer\ForumSerializer;
|
use Flarum\Api\Serializer\ForumSerializer;
|
||||||
use Flarum\Api\Serializer\PostSerializer;
|
use Flarum\Api\Serializer\PostSerializer;
|
||||||
use Flarum\Core\User;
|
|
||||||
use Flarum\Event\ConfigureApiRoutes;
|
use Flarum\Event\ConfigureApiRoutes;
|
||||||
use Flarum\Event\ConfigureModelDates;
|
use Flarum\Event\ConfigureModelDates;
|
||||||
use Flarum\Event\PrepareApiAttributes;
|
|
||||||
use Flarum\Flags\Api\Controller;
|
use Flarum\Flags\Api\Controller;
|
||||||
use Flarum\Flags\Flag;
|
use Flarum\Flags\Flag;
|
||||||
use Flarum\Settings\SettingsRepositoryInterface;
|
use Flarum\Settings\SettingsRepositoryInterface;
|
||||||
|
use Flarum\User\User;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
|
|
||||||
class AddFlagsApi
|
class AddFlagsApi
|
||||||
@@ -44,7 +44,7 @@ class AddFlagsApi
|
|||||||
public function subscribe(Dispatcher $events)
|
public function subscribe(Dispatcher $events)
|
||||||
{
|
{
|
||||||
$events->listen(ConfigureModelDates::class, [$this, 'configureModelDates']);
|
$events->listen(ConfigureModelDates::class, [$this, 'configureModelDates']);
|
||||||
$events->listen(PrepareApiAttributes::class, [$this, 'prepareApiAttributes']);
|
$events->listen(Serializing::class, [$this, 'prepareApiAttributes']);
|
||||||
$events->listen(ConfigureApiRoutes::class, [$this, 'configureApiRoutes']);
|
$events->listen(ConfigureApiRoutes::class, [$this, 'configureApiRoutes']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,9 +59,9 @@ class AddFlagsApi
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param PrepareApiAttributes $event
|
* @param Serializing $event
|
||||||
*/
|
*/
|
||||||
public function prepareApiAttributes(PrepareApiAttributes $event)
|
public function prepareApiAttributes(Serializing $event)
|
||||||
{
|
{
|
||||||
if ($event->isSerializer(ForumSerializer::class)) {
|
if ($event->isSerializer(ForumSerializer::class)) {
|
||||||
$event->attributes['canViewFlags'] = $event->actor->hasPermissionLike('discussion.viewFlags');
|
$event->attributes['canViewFlags'] = $event->actor->hasPermissionLike('discussion.viewFlags');
|
||||||
|
@@ -12,16 +12,16 @@
|
|||||||
namespace Flarum\Flags\Listener;
|
namespace Flarum\Flags\Listener;
|
||||||
|
|
||||||
use Flarum\Api\Controller;
|
use Flarum\Api\Controller;
|
||||||
|
use Flarum\Api\Event\WillGetData;
|
||||||
|
use Flarum\Api\Event\WillSerializeData;
|
||||||
use Flarum\Api\Serializer\PostSerializer;
|
use Flarum\Api\Serializer\PostSerializer;
|
||||||
use Flarum\Core\Post;
|
|
||||||
use Flarum\Event\ConfigureApiController;
|
|
||||||
use Flarum\Event\GetApiRelationship;
|
use Flarum\Event\GetApiRelationship;
|
||||||
use Flarum\Event\GetModelRelationship;
|
use Flarum\Event\GetModelRelationship;
|
||||||
use Flarum\Event\PostWasDeleted;
|
|
||||||
use Flarum\Event\PrepareApiData;
|
|
||||||
use Flarum\Flags\Api\Controller\CreateFlagController;
|
use Flarum\Flags\Api\Controller\CreateFlagController;
|
||||||
use Flarum\Flags\Api\Serializer\FlagSerializer;
|
use Flarum\Flags\Api\Serializer\FlagSerializer;
|
||||||
use Flarum\Flags\Flag;
|
use Flarum\Flags\Flag;
|
||||||
|
use Flarum\Post\Event\Deleted;
|
||||||
|
use Flarum\Post\Post;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
use Illuminate\Database\Eloquent\Collection;
|
use Illuminate\Database\Eloquent\Collection;
|
||||||
|
|
||||||
@@ -33,10 +33,10 @@ class AddPostFlagsRelationship
|
|||||||
public function subscribe(Dispatcher $events)
|
public function subscribe(Dispatcher $events)
|
||||||
{
|
{
|
||||||
$events->listen(GetModelRelationship::class, [$this, 'getModelRelationship']);
|
$events->listen(GetModelRelationship::class, [$this, 'getModelRelationship']);
|
||||||
$events->listen(PostWasDeleted::class, [$this, 'postWasDeleted']);
|
$events->listen(Deleted::class, [$this, 'postWasDeleted']);
|
||||||
$events->listen(GetApiRelationship::class, [$this, 'getApiRelationship']);
|
$events->listen(GetApiRelationship::class, [$this, 'getApiRelationship']);
|
||||||
$events->listen(ConfigureApiController::class, [$this, 'includeFlagsRelationship']);
|
$events->listen(WillGetData::class, [$this, 'includeFlagsRelationship']);
|
||||||
$events->listen(PrepareApiData::class, [$this, 'prepareApiData']);
|
$events->listen(WillSerializeData::class, [$this, 'prepareApiData']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,9 +51,9 @@ class AddPostFlagsRelationship
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param PostWasDeleted $event
|
* @param Deleted $event
|
||||||
*/
|
*/
|
||||||
public function postWasDeleted(PostWasDeleted $event)
|
public function postWasDeleted(Deleted $event)
|
||||||
{
|
{
|
||||||
$event->post->flags()->delete();
|
$event->post->flags()->delete();
|
||||||
}
|
}
|
||||||
@@ -70,9 +70,9 @@ class AddPostFlagsRelationship
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ConfigureApiController $event
|
* @param WillGetData $event
|
||||||
*/
|
*/
|
||||||
public function includeFlagsRelationship(ConfigureApiController $event)
|
public function includeFlagsRelationship(WillGetData $event)
|
||||||
{
|
{
|
||||||
if ($event->isController(Controller\ShowDiscussionController::class)) {
|
if ($event->isController(Controller\ShowDiscussionController::class)) {
|
||||||
$event->addInclude([
|
$event->addInclude([
|
||||||
@@ -91,9 +91,9 @@ class AddPostFlagsRelationship
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param PrepareApiData $event
|
* @param WillSerializeData $event
|
||||||
*/
|
*/
|
||||||
public function prepareApiData(PrepareApiData $event)
|
public function prepareApiData(WillSerializeData $event)
|
||||||
{
|
{
|
||||||
// For any API action that allows the 'flags' relationship to be
|
// For any API action that allows the 'flags' relationship to be
|
||||||
// included, we need to preload this relationship onto the data (Post
|
// included, we need to preload this relationship onto the data (Post
|
||||||
|
Reference in New Issue
Block a user