1
0
mirror of https://github.com/flarum/core.git synced 2025-08-03 23:17:43 +02:00

fix: actor only fields

This commit is contained in:
Sami Mazouz
2024-03-06 08:52:58 +01:00
parent a776510dec
commit f52c6238ba

View File

@@ -243,7 +243,7 @@ class UserResource extends AbstractDatabaseResource
}),
Schema\DateTime::make('markedAllAsReadAt')
->visible(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->visible(fn (User $user, Context $context) => ($context->collection instanceof self || $context->collection instanceof ForumResource) && $context->getActor()->id === $user->id)
->writable(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->set(function (User $user, $value) {
if (! empty($value)) {
@@ -252,17 +252,17 @@ class UserResource extends AbstractDatabaseResource
}),
Schema\Integer::make('unreadNotificationCount')
->visible(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->visible(fn (User $user, Context $context) => ($context->collection instanceof self || $context->collection instanceof ForumResource) && $context->getActor()->id === $user->id)
->get(function (User $user): int {
return $user->getUnreadNotificationCount();
}),
Schema\Integer::make('newNotificationCount')
->visible(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->visible(fn (User $user, Context $context) => ($context->collection instanceof self || $context->collection instanceof ForumResource) && $context->getActor()->id === $user->id)
->get(function (User $user): int {
return $user->getNewNotificationCount();
}),
Schema\Arr::make('preferences')
->visible(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->visible(fn (User $user, Context $context) => ($context->collection instanceof self || $context->collection instanceof ForumResource) && $context->getActor()->id === $user->id)
->writable(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->set(function (User $user, array $value) {
foreach ($value as $k => $v) {
@@ -271,7 +271,7 @@ class UserResource extends AbstractDatabaseResource
}),
Schema\Boolean::make('isAdmin')
->visible(fn (User $user, Context $context) => $context->getActor()->id === $user->id)
->visible(fn (User $user, Context $context) => ($context->collection instanceof self || $context->collection instanceof ForumResource) && $context->getActor()->id === $user->id)
->get(fn (User $user, Context $context) => $context->getActor()->isAdmin()),
Schema\Boolean::make('canEdit')