From f52c6238ba3c827c578bb85a3aea4d2ea49313bc Mon Sep 17 00:00:00 2001 From: Sami Mazouz Date: Wed, 6 Mar 2024 08:52:58 +0100 Subject: [PATCH] fix: actor only fields --- framework/core/src/Api/Resource/UserResource.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/framework/core/src/Api/Resource/UserResource.php b/framework/core/src/Api/Resource/UserResource.php index 5a97f5349..b524e3564 100644 --- a/framework/core/src/Api/Resource/UserResource.php +++ b/framework/core/src/Api/Resource/UserResource.php @@ -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')