Skip to content
This repository was archived by the owner on Dec 2, 2021. It is now read-only.

Commit 37ec5f0

Browse files
committed
Support doctrine/persistence v2
1 parent 5e12d43 commit 37ec5f0

File tree

6 files changed

+32
-13
lines changed

6 files changed

+32
-13
lines changed

Model/Persister/DoctrinePersister.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,23 @@
44

55
namespace Scheb\TwoFactorBundle\Model\Persister;
66

7-
use Doctrine\Common\Persistence\ObjectManager;
7+
use Doctrine\Common\Persistence\ObjectManager as LegacyObjectManager;
8+
use Doctrine\Persistence\ObjectManager;
89
use Scheb\TwoFactorBundle\Model\PersisterInterface;
910

1011
class DoctrinePersister implements PersisterInterface
1112
{
1213
/**
13-
* @var ObjectManager
14+
* @var ObjectManager|LegacyObjectManager
1415
*/
1516
private $om;
1617

1718
/**
1819
* Initialize a persister for doctrine entities.
20+
*
21+
* @param ObjectManager|LegacyObjectManager $om
1922
*/
20-
public function __construct(ObjectManager $om)
23+
public function __construct($om)
2124
{
2225
$this->om = $om;
2326
}

Model/Persister/DoctrinePersisterFactory.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44

55
namespace Scheb\TwoFactorBundle\Model\Persister;
66

7-
use Doctrine\Common\Persistence\ManagerRegistry;
7+
use Doctrine\Common\Persistence\ManagerRegistry as LegacyManagerRegistry;
8+
use Doctrine\Persistence\ManagerRegistry;
89
use Scheb\TwoFactorBundle\Model\PersisterInterface;
910

1011
class DoctrinePersisterFactory
1112
{
1213
/**
13-
* @var ManagerRegistry
14+
* @var ManagerRegistry|LegacyManagerRegistry
1415
*/
1516
private $managerRegistry;
1617

@@ -19,7 +20,10 @@ class DoctrinePersisterFactory
1920
*/
2021
private $objectManagerName;
2122

22-
public function __construct(?ManagerRegistry $managerRegistry, ?string $objectManagerName)
23+
/**
24+
* @param ManagerRegistry|LegacyManagerRegistry|null $managerRegistry
25+
*/
26+
public function __construct($managerRegistry, ?string $objectManagerName)
2327
{
2428
if (!$managerRegistry) {
2529
$msg = 'scheb/two-factor-bundle requires Doctrine to manage the user entity. If you don\'t want something else ';
@@ -34,9 +38,7 @@ public function __construct(?ManagerRegistry $managerRegistry, ?string $objectMa
3438
public function getPersister(): PersisterInterface
3539
{
3640
$objectManager = $this->managerRegistry->getManager($this->objectManagerName);
37-
/** @psalm-suppress ArgumentTypeCoercion */
38-
$persister = new DoctrinePersister($objectManager);
3941

40-
return $persister;
42+
return new DoctrinePersister($objectManager);
4143
}
4244
}

Tests/Model/Persister/DoctrinePersisterFactoryTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
namespace Scheb\TwoFactorBundle\Tests\Model\Persister;
66

7-
use Doctrine\Common\Persistence\ManagerRegistry;
8-
use Doctrine\Common\Persistence\ObjectManager;
7+
use Doctrine\Persistence\ManagerRegistry;
8+
use Doctrine\Persistence\ObjectManager;
99
use Scheb\TwoFactorBundle\Model\Persister\DoctrinePersister;
1010
use Scheb\TwoFactorBundle\Model\Persister\DoctrinePersisterFactory;
1111
use Scheb\TwoFactorBundle\Tests\TestCase;

Tests/Model/Persister/DoctrinePersisterTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Scheb\TwoFactorBundle\Tests\Model\Persister;
66

7-
use Doctrine\Common\Persistence\ObjectManager;
7+
use Doctrine\Persistence\ObjectManager;
88
use PHPUnit\Framework\MockObject\MockObject;
99
use Scheb\TwoFactorBundle\Model\Persister\DoctrinePersister;
1010
use Scheb\TwoFactorBundle\Tests\TestCase;

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"paragonie/constant_time_encoding": "^2.2"
2828
},
2929
"require-dev": {
30-
"doctrine/persistence": "^1.3",
30+
"doctrine/persistence": "^1.3|^2.0",
3131
"phpunit/phpunit": "^7.0|^8.0|^9.0",
3232
"swiftmailer/swiftmailer": "^6.0",
3333
"symfony/yaml": "^3.4|^4.0|^5.0",

psalm.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,19 @@
2424
<DeprecatedMethod errorLevel="info" />
2525
<DeprecatedProperty errorLevel="info" />
2626
<DeprecatedTrait errorLevel="info" />
27+
<UndefinedClass>
28+
<!-- BC layer for doctrine/persistence 1.3 -->
29+
<errorLevel type="info">
30+
<referencedClass name="Doctrine\Common\Persistence\ObjectManager"/>
31+
<referencedClass name="Doctrine\Common\Persistence\ManagerRegistry"/>
32+
</errorLevel>
33+
</UndefinedClass>
34+
<UndefinedDocblockClass>
35+
<!-- BC layer for doctrine/persistence 1.3 -->
36+
<errorLevel type="info">
37+
<referencedClass name="Doctrine\Common\Persistence\ObjectManager"/>
38+
<referencedClass name="Doctrine\Common\Persistence\ManagerRegistry"/>
39+
</errorLevel>
40+
</UndefinedDocblockClass>
2741
</issueHandlers>
2842
</psalm>

0 commit comments

Comments
 (0)