Skip to content
Snippets Groups Projects
Commit d84e86b0 authored by Tobias Gross-Vogt's avatar Tobias Gross-Vogt
Browse files

personuseritempostevent now in base bundle (personproviderpostevent); removed unused events

parent 945ce1a8
No related branches found
No related tags found
No related merge requests found
...@@ -348,11 +348,11 @@ ...@@ -348,11 +348,11 @@
}, },
{ {
"name": "dbp/relay-base-person-bundle", "name": "dbp/relay-base-person-bundle",
"version": "v0.2.5", "version": "v0.2.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-person-bundle", "url": "https://gitlab.tugraz.at/dbp/relay/dbp-relay-base-person-bundle",
"reference": "94622ef83ce4b60dd0c599813e44c19e218498fc" "reference": "d0fbe7236914d9f5343366cd50d6903c41446758"
}, },
"require": { "require": {
"api-platform/core": "^2.6.3", "api-platform/core": "^2.6.3",
...@@ -393,7 +393,7 @@ ...@@ -393,7 +393,7 @@
"license": [ "license": [
"AGPL-3.0-or-later" "AGPL-3.0-or-later"
], ],
"time": "2022-11-16T10:54:26+00:00" "time": "2022-11-24T08:50:01+00:00"
}, },
{ {
"name": "dbp/relay-core-bundle", "name": "dbp/relay-core-bundle",
...@@ -11149,5 +11149,5 @@ ...@@ -11149,5 +11149,5 @@
"platform-overrides": { "platform-overrides": {
"php": "7.3" "php": "7.3"
}, },
"plugin-api-version": "2.3.0" "plugin-api-version": "2.2.0"
} }
<?php
declare(strict_types=1);
namespace Dbp\Relay\BasePersonConnectorLdapBundle\Event;
use Dbp\Relay\BasePersonBundle\Entity\Person;
use Symfony\Contracts\EventDispatcher\Event;
class PersonForExternalServiceEvent extends Event
{
public const NAME = 'dbp.relay.base_person_connector_ldap_bundle.person_for_external_service';
protected $service;
protected $serviceID;
protected $person;
public function __construct(string $service, string $serviceID)
{
$this->service = $service;
$this->serviceID = $serviceID;
$this->person = null;
}
public function getService(): string
{
return $this->service;
}
public function getServiceID(): string
{
return $this->serviceID;
}
public function setPerson(Person $person): void
{
$this->person = $person;
}
public function getPerson(): ?Person
{
return $this->person;
}
}
<?php
declare(strict_types=1);
namespace Dbp\Relay\BasePersonConnectorLdapBundle\Event;
use Dbp\Relay\BasePersonBundle\Entity\Person;
use Dbp\Relay\CoreBundle\LocalData\LocalDataAwarePostEvent;
class PersonFromUserItemPostEvent extends LocalDataAwarePostEvent
{
public const NAME = 'dbp.relay.base_person_connector_ldap_bundle.person_from_user_item.post';
protected $attributes;
protected $person;
protected $full;
public function __construct(array $attributes, Person $person, bool $full)
{
parent::__construct($person);
$this->attributes = $attributes;
$this->person = $person;
$this->full = $full;
}
public function getAttributes(): array
{
return $this->attributes;
}
public function getPerson(): Person
{
return $this->person;
}
public function isFull(): bool
{
return $this->full;
}
public function setPerson(Person $person): void
{
$this->person = $person;
}
public function getEntity(): Person
{
return $this->person;
}
public function getSourceData(): array
{
return $this->attributes;
}
}
<?php
declare(strict_types=1);
namespace Dbp\Relay\BasePersonConnectorLdapBundle\Event;
use Adldap\Models\User;
use Symfony\Contracts\EventDispatcher\Event;
/**
* Class PersonFromUserItemPreEvent.
*
* This event is currently disabled!
*/
class PersonFromUserItemPreEvent extends Event
{
public const NAME = 'dbp.relay.base_person_connector_ldap_bundle.person_from_user_item.pre';
protected $user;
protected $full;
public function __construct(User $user, bool $full)
{
$this->user = $user;
$this->full = $full;
}
public function getUser(): User
{
return $this->user;
}
public function isFull(): bool
{
return $this->full;
}
public function setUser(User $user): void
{
$this->user = $user;
}
}
...@@ -16,7 +16,7 @@ use Adldap\Models\User; ...@@ -16,7 +16,7 @@ use Adldap\Models\User;
use Adldap\Query\Builder; use Adldap\Query\Builder;
use Adldap\Query\Paginator as AdldapPaginator; use Adldap\Query\Paginator as AdldapPaginator;
use Dbp\Relay\BasePersonBundle\Entity\Person; use Dbp\Relay\BasePersonBundle\Entity\Person;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonFromUserItemPostEvent; use Dbp\Relay\BasePersonBundle\Event\PersonProviderPostEvent;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonPreEvent; use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonPreEvent;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonUserItemPreEvent; use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonUserItemPreEvent;
use Dbp\Relay\CoreBundle\API\UserSessionInterface; use Dbp\Relay\CoreBundle\API\UserSessionInterface;
...@@ -282,10 +282,6 @@ class LDAPApi implements LoggerAwareInterface, ServiceSubscriberInterface ...@@ -282,10 +282,6 @@ class LDAPApi implements LoggerAwareInterface, ServiceSubscriberInterface
public function personFromUserItem(User $user, bool $full): Person public function personFromUserItem(User $user, bool $full): Person
{ {
// $preEvent = new PersonFromUserItemPreEvent($user, $full);
// $this->eventDispatcher->dispatch($preEvent, PersonFromUserItemPreEvent::NAME);
// $user = $preEvent->getUser();
$identifier = $user->getFirstAttribute($this->identifierAttributeName) ?? ''; $identifier = $user->getFirstAttribute($this->identifierAttributeName) ?? '';
$person = new Person(); $person = new Person();
...@@ -316,10 +312,10 @@ class LDAPApi implements LoggerAwareInterface, ServiceSubscriberInterface ...@@ -316,10 +312,10 @@ class LDAPApi implements LoggerAwareInterface, ServiceSubscriberInterface
} }
} }
$postEvent = new PersonFromUserItemPostEvent($attributes, $person, $full); $postEvent = new PersonProviderPostEvent($attributes, $person);
$this->eventDispatcher->dispatch($postEvent, PersonFromUserItemPostEvent::NAME); $this->eventDispatcher->dispatch($postEvent, PersonProviderPostEvent::NAME);
return $postEvent->getPerson(); return $postEvent->getEntity();
} }
/** /**
......
<?php
declare(strict_types=1);
namespace Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils;
use Dbp\Relay\BasePersonBundle\Entity\Person;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonForExternalServiceEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class PersonForExternalServiceSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
PersonForExternalServiceEvent::NAME => 'onEvent',
];
}
public function onEvent(PersonForExternalServiceEvent $event)
{
$service = $event->getService();
$serviceID = $event->getServiceID();
if ($service === 'test-service') {
$person = new Person();
$person->setExtraData('test-service', 'my-test-service-string-'.$serviceID);
$event->setPerson($person);
}
}
}
...@@ -4,8 +4,7 @@ declare(strict_types=1); ...@@ -4,8 +4,7 @@ declare(strict_types=1);
namespace Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils; namespace Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonFromUserItemPostEvent; use Dbp\Relay\BasePersonBundle\Event\PersonProviderPostEvent;
use Dbp\Relay\BasePersonConnectorLdapBundle\Event\PersonFromUserItemPreEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class PersonFromUserItemSubscriber implements EventSubscriberInterface class PersonFromUserItemSubscriber implements EventSubscriberInterface
...@@ -13,22 +12,13 @@ class PersonFromUserItemSubscriber implements EventSubscriberInterface ...@@ -13,22 +12,13 @@ class PersonFromUserItemSubscriber implements EventSubscriberInterface
public static function getSubscribedEvents(): array public static function getSubscribedEvents(): array
{ {
return [ return [
PersonFromUserItemPreEvent::NAME => 'onPre', PersonProviderPostEvent::NAME => 'onPost',
PersonFromUserItemPostEvent::NAME => 'onPost',
]; ];
} }
public function onPre(PersonFromUserItemPreEvent $event) public function onPost(PersonProviderPostEvent $event)
{ {
$user = $event->getUser(); $person = $event->getEntity();
$user->setCompany('TestCompany');
$event->setUser($user);
}
public function onPost(PersonFromUserItemPostEvent $event)
{
$person = $event->getPerson();
$person->setExtraData('test', 'my-test-string'); $person->setExtraData('test', 'my-test-string');
$event->setPerson($person);
} }
} }
...@@ -11,7 +11,6 @@ use Adldap\Query\Grammar; ...@@ -11,7 +11,6 @@ use Adldap\Query\Grammar;
use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase; use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPApi; use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPApi;
use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPPersonProvider; use Dbp\Relay\BasePersonConnectorLdapBundle\Service\LDAPPersonProvider;
use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonForExternalServiceSubscriber;
use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonFromUserItemSubscriber; use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonFromUserItemSubscriber;
use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonUserItemSubscriber; use Dbp\Relay\BasePersonConnectorLdapBundle\TestUtils\PersonUserItemSubscriber;
use Mockery; use Mockery;
...@@ -33,11 +32,9 @@ class PersonTest extends ApiTestCase ...@@ -33,11 +32,9 @@ class PersonTest extends ApiTestCase
{ {
parent::setUp(); parent::setUp();
$personFromUserItemSubscriber = new PersonFromUserItemSubscriber(); $personFromUserItemSubscriber = new PersonFromUserItemSubscriber();
$personForExternalServiceSubscriber = new PersonForExternalServiceSubscriber();
$personUserItemSubscriber = new PersonUserItemSubscriber(); $personUserItemSubscriber = new PersonUserItemSubscriber();
$eventDispatcher = new EventDispatcher(); $eventDispatcher = new EventDispatcher();
$eventDispatcher->addSubscriber($personFromUserItemSubscriber); $eventDispatcher->addSubscriber($personFromUserItemSubscriber);
$eventDispatcher->addSubscriber($personForExternalServiceSubscriber);
$eventDispatcher->addSubscriber($personUserItemSubscriber); $eventDispatcher->addSubscriber($personUserItemSubscriber);
$this->api = new LDAPApi(self::createClient()->getContainer(), $eventDispatcher); $this->api = new LDAPApi(self::createClient()->getContainer(), $eventDispatcher);
...@@ -97,17 +94,6 @@ class PersonTest extends ApiTestCase ...@@ -97,17 +94,6 @@ class PersonTest extends ApiTestCase
} }
} }
// public function testPersonFromUserItemPreEvent()
// {
// $user = new AdldapUser([
// 'cn' => ['foobar'],
// ], $this->newBuilder());
//
// $this->api->personFromUserItem($user, false);
//
// $this->assertEquals($user->getCompany(), 'TestCompany');
// }
public function testPersonFromUserItemPostEvent() public function testPersonFromUserItemPostEvent()
{ {
$user = new AdldapUser([ $user = new AdldapUser([
...@@ -120,11 +106,4 @@ class PersonTest extends ApiTestCase ...@@ -120,11 +106,4 @@ class PersonTest extends ApiTestCase
$this->assertEquals($person->getExtraData('test'), 'my-test-string'); $this->assertEquals($person->getExtraData('test'), 'my-test-string');
} }
// public function testPersonUserItemEvent()
// {
// $user = $this->api->getPersonUserItem('foobar');
//
// $this->assertEquals($user->getName(), 'foobar');
// }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment