Skip to content

Commit

Permalink
/users/me
Browse files Browse the repository at this point in the history
  • Loading branch information
bjrbhre committed Mar 22, 2019
1 parent a974031 commit 6a9056e
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions api/src/EventSubscriber/UserSubscriber.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,47 @@

namespace App\EventSubscriber;

use ApiPlatform\Core\EventListener\EventPriorities;
use App\Entity\User;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\Security\Core\Security;

class UserSubscriber implements EventSubscriberInterface
{
private $security;

public function __construct(Security $security)
{
$this->security = $security;
}

public function onKernelRequest(GetResponseEvent $event)
{
// ...
$request = $event->getRequest();

if ('api_users_get_item' !== $request->attributes->get('_route')) {
return;
}

if ('me' !== $request->attributes->get('id')) {
return;
}

$user = $this->security->getUser();

if (!$user instanceof User) {
return;
}

$request->attributes->set('id', $user->getId());
}

public static function getSubscribedEvents()
{
return [
'kernel.request' => 'onKernelRequest',
'kernel.request' => ['onKernelRequest', EventPriorities::PRE_READ]
];
}
}

0 comments on commit 6a9056e

Please sign in to comment.