Skip to content

Commit 4146d88

Browse files
Merge pull request #61 from flavou45/master
Symfony 6
2 parents bc5c091 + dfeb64e commit 4146d88

20 files changed

+308
-62
lines changed

.phpunit.result.cache

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"version":1,"defects":{"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testPersistEntity":4,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testNoUpdateOnReadEncrypted":4,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testStoredDataIsEncrypted":4,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testPersistEntity":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testNoUpdateOnReadEncrypted":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testStoredDataIsEncrypted":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\DependencyInjection\\DoctrineEncryptExtensionTest::testConfigLoadCustom":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testEncryptWithoutExtensionThrowsException":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\DefuseEncryptorTest::testEncrypt":4,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\DefuseEncryptorTest::testGenerateKey":4,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testEncryptExtension":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testGenerateKey":1,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsNoEncryptor":4},"times":{"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testPersistEntity":0.456,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testNoUpdateOnReadEncrypted":1.046,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryDefuseTest::testStoredDataIsEncrypted":0.654,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testPersistEntity":0.106,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testNoUpdateOnReadEncrypted":0.142,"Ambta\\DoctrineEncryptBundle\\Tests\\Functional\\BasicQueryTest\\BasicQueryHaliteTest::testStoredDataIsEncrypted":0.126,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\DependencyInjection\\DoctrineEncryptExtensionTest::testConfigLoadHalite":0.031,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\DependencyInjection\\DoctrineEncryptExtensionTest::testConfigLoadDefuse":0.012,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\DependencyInjection\\DoctrineEncryptExtensionTest::testConfigLoadCustom":0.013,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\DefuseEncryptorTest::testEncrypt":0.252,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\DefuseEncryptorTest::testGenerateKey":0.132,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testEncryptExtension":0.005,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testGenerateKey":0.008,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Encryptors\\HaliteEncryptorTest::testEncryptWithoutExtensionThrowsException":0.001,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testSetRestorEncryptor":0.01,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsEncrypt":0.003,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsEncryptExtend":0.003,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsEncryptEmbedded":0.004,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsEncryptNull":0.002,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsNoEncryptor":0.001,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsDecrypt":0.002,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsDecryptExtended":0.003,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsDecryptEmbedded":0.003,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsDecryptNull":0.002,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testProcessFieldsDecryptNonEncrypted":0.002,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testOnFlush":0.052,"Ambta\\DoctrineEncryptBundle\\Tests\\Unit\\Subscribers\\DoctrineEncryptSubscriberTest::testPostFlush":0.006}}

Tests/Functional/AbstractFunctionalTestCase.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public function setUp(): void
7575

7676
public function tearDown(): void
7777
{
78+
$this->entityManager->getConnection()->close();
7879
unlink($this->dbFile);
7980
}
8081

composer.json

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
"license": "MIT",
66
"description": "Encrypted symfony entity's by verified and standardized libraries",
77
"require": {
8-
"php": "^7.2|^8.0",
8+
"php": "^8.0",
99
"paragonie/halite": "^4.6",
1010
"paragonie/sodium_compat": "^1.5",
1111
"doctrine/orm": "^2.5",
12-
"symfony/property-access": "^4.1|^5.0",
13-
"symfony/dependency-injection": "^4.1|^5.0",
14-
"symfony/yaml": "^4.1|^5.0",
15-
"symfony/http-kernel": "^4.1|^5.0",
16-
"symfony/config": "^4.1|^5.0"
12+
"symfony/property-access": "^4.1|^5.0|^6.0",
13+
"symfony/dependency-injection": "^4.1|^5.0|^6.0",
14+
"symfony/yaml": "^4.1|^5.0|^6.0",
15+
"symfony/http-kernel": "^4.1|^5.0|^6.0",
16+
"symfony/config": "^4.1|^5.0|^6.0"
1717
},
1818
"require-dev": {
1919
"phpunit/phpunit": "^8.0|^9.0",
@@ -32,5 +32,10 @@
3232
"psr-4": {
3333
"Ambta\\DoctrineEncryptBundle\\Tests\\": "Tests/"
3434
}
35+
},
36+
"config": {
37+
"allow-plugins": {
38+
"composer/package-versions-deprecated": true
39+
}
3540
}
3641
}

src/AmbtaDoctrineEncryptBundle.php

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

33
namespace Ambta\DoctrineEncryptBundle;
44

5+
use JetBrains\PhpStorm\Pure;
6+
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
57
use Symfony\Component\HttpKernel\Bundle\Bundle;
68
use Ambta\DoctrineEncryptBundle\DependencyInjection\DoctrineEncryptExtension;
79

810
class AmbtaDoctrineEncryptBundle extends Bundle
911
{
10-
public function getContainerExtension()
12+
#[Pure]
13+
public function getContainerExtension(): ?ExtensionInterface
1114
{
1215
return new DoctrineEncryptExtension();
1316
}

src/Command/AbstractCommand.php

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ abstract class AbstractCommand extends Command
1818
/**
1919
* @var EntityManagerInterface
2020
*/
21-
protected $entityManager;
21+
protected EntityManagerInterface|EntityManager $entityManager;
2222

2323
/**
2424
* @var DoctrineEncryptSubscriber
2525
*/
26-
protected $subscriber;
26+
protected DoctrineEncryptSubscriber $subscriber;
2727

2828
/**
2929
* @var Reader
3030
*/
31-
protected $annotationReader;
31+
protected Reader $annotationReader;
3232

3333
/**
3434
* AbstractCommand constructor.
@@ -52,14 +52,13 @@ public function __construct(
5252
* Get an result iterator over the whole table of an entity.
5353
*
5454
* @param string $entityName
55-
*
56-
* @return \Doctrine\ORM\Internal\Hydration\IterableResult
55+
* @return iterable|array
5756
*/
58-
protected function getEntityIterator($entityName)
57+
protected function getEntityIterator(string $entityName): iterable
5958
{
6059
$query = $this->entityManager->createQuery(sprintf('SELECT o FROM %s o', $entityName));
6160

62-
return $query->iterate();
61+
return $query->toIterable();
6362
}
6463

6564
/**
@@ -69,7 +68,7 @@ protected function getEntityIterator($entityName)
6968
*
7069
* @return int
7170
*/
72-
protected function getTableCount($entityName)
71+
protected function getTableCount(string $entityName): int
7372
{
7473
$query = $this->entityManager->createQuery(sprintf('SELECT COUNT(o) FROM %s o', $entityName));
7574

@@ -82,7 +81,7 @@ protected function getTableCount($entityName)
8281
*
8382
* @return array
8483
*/
85-
protected function getEncryptionableEntityMetaData()
84+
protected function getEncryptionableEntityMetaData(): array
8685
{
8786
$validMetaData = [];
8887
$metaDataArray = $this->entityManager->getMetadataFactory()->getAllMetadata();
@@ -109,7 +108,7 @@ protected function getEncryptionableEntityMetaData()
109108
*
110109
* @return array
111110
*/
112-
protected function getEncryptionableProperties($entityMetaData)
111+
protected function getEncryptionableProperties($entityMetaData): array
113112
{
114113
//Create reflectionClass for each meta data object
115114
$reflectionClass = new \ReflectionClass($entityMetaData->name);

src/Command/DoctrineDecryptDatabaseCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ protected function configure()
3333
/**
3434
* {@inheritdoc}
3535
*/
36-
protected function execute(InputInterface $input, OutputInterface $output)
36+
protected function execute(InputInterface $input, OutputInterface $output): int
3737
{
3838
// Get entity manager, question helper, subscriber service and annotation reader
3939
$question = $this->getHelper('question');

src/Command/DoctrineEncryptDatabaseCommand.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ protected function configure()
3232
/**
3333
* {@inheritdoc}
3434
*/
35-
protected function execute(InputInterface $input, OutputInterface $output)
35+
protected function execute(InputInterface $input, OutputInterface $output): int
3636
{
3737
// Get entity manager, question helper, subscriber service and annotation reader
3838
$question = $this->getHelper('question');
@@ -84,7 +84,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
8484
$output->writeln(sprintf('Processing <comment>%s</comment>', $metaData->name));
8585
$progressBar = new ProgressBar($output, $totalCount);
8686
foreach ($iterator as $row) {
87-
$this->subscriber->processFields($row[0]);
87+
$this->subscriber->processFields((is_array($row) ? $row[0] : $row));
8888

8989
if (($i % $batchSize) === 0) {
9090
$this->entityManager->flush();

src/Command/DoctrineEncryptStatusCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ protected function configure()
2727
/**
2828
* {@inheritdoc}
2929
*/
30-
protected function execute(InputInterface $input, OutputInterface $output)
30+
protected function execute(InputInterface $input, OutputInterface $output): int
3131
{
3232
$metaDataArray = $this->entityManager->getMetadataFactory()->getAllMetadata();
3333

src/Configuration/Annotation.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Ambta\DoctrineEncryptBundle\Configuration;
6+
7+
/**
8+
* @internal
9+
*/
10+
interface Annotation
11+
{
12+
}

src/Configuration/Encrypted.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
namespace Ambta\DoctrineEncryptBundle\Configuration;
44

5+
use Attribute;
6+
57
/**
68
* The Encrypted class handles the @Encrypted annotation.
79
*
810
* @author Victor Melnik <melnikvictorl@gmail.com>
911
* @Annotation
12+
* @Target("PROPERTY")
1013
*/
11-
class Encrypted
14+
#[Attribute(Attribute::TARGET_PROPERTY)]
15+
class Encrypted implements Annotation
1216
{
1317
// Placeholder
1418
}

0 commit comments

Comments
 (0)