Skip to content

Commit ebeb8dd

Browse files
authored
Merge pull request #434 from HiEventsDev/fix/event-visiblity-for-logged-in-users
Fix event visibility for users from another account
2 parents 6c4915d + 881f282 commit ebeb8dd

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

backend/app/Http/Actions/Events/GetEventPublicAction.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace HiEvents\Http\Actions\Events;
44

5+
use HiEvents\DomainObjects\EventDomainObject;
56
use HiEvents\DomainObjects\Status\EventStatus;
67
use HiEvents\Http\Actions\BaseAction;
78
use HiEvents\Resources\Event\EventResourcePublic;
@@ -30,7 +31,7 @@ public function __invoke(int $eventId, Request $request): Response|JsonResponse
3031
'isAuthenticated' => $this->isUserAuthenticated(),
3132
]));
3233

33-
if ($event->getStatus() !== EventStatus::LIVE->name && !$this->isUserAuthenticated()) {
34+
if (!$this->canUserViewEvent($event)) {
3435
$this->logger->debug(__('Event with ID :eventId is not live and user is not authenticated', [
3536
'eventId' => $eventId
3637
]));
@@ -40,4 +41,17 @@ public function __invoke(int $eventId, Request $request): Response|JsonResponse
4041

4142
return $this->resourceResponse(EventResourcePublic::class, $event);
4243
}
44+
45+
private function canUserViewEvent(EventDomainObject $event): bool
46+
{
47+
if ($event->getStatus() === EventStatus::LIVE->name) {
48+
return true;
49+
}
50+
51+
if ($this->isUserAuthenticated() && $event->getAccountId() === $this->getAuthenticatedAccountId()) {
52+
return true;
53+
}
54+
55+
return false;
56+
}
4357
}

0 commit comments

Comments
 (0)