Skip to content

Commit d3180f2

Browse files
committed
refactor: improve mappings classes readability
1 parent 1e1c330 commit d3180f2

11 files changed

+24
-27
lines changed

src/Mappings/BelongsToOrganisation.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace LaravelDoctrine\ACL\Mappings;
66

77
use Attribute;
8-
use Illuminate\Contracts\Config\Repository;
8+
use Illuminate\Contracts\Config\Repository as Config;
99

1010
#[Attribute(Attribute::TARGET_PROPERTY)]
1111
final class BelongsToOrganisation extends RelationAttribute
@@ -25,7 +25,7 @@ public function __construct(
2525
$this->indexBy = $indexBy;
2626
}
2727

28-
public function getTargetEntity(Repository $config): string|null
28+
public function getTargetEntity(Config $config): string|null
2929
{
3030
return $this->targetEntity ?: $config->get('acl.organisations.entity', 'Organisation');
3131
}

src/Mappings/BelongsToOrganisations.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace LaravelDoctrine\ACL\Mappings;
66

77
use Attribute;
8-
use Illuminate\Contracts\Config\Repository;
8+
use Illuminate\Contracts\Config\Repository as Config;
99

1010
#[Attribute(Attribute::TARGET_PROPERTY)]
1111
final class BelongsToOrganisations extends RelationAttribute
@@ -27,7 +27,7 @@ public function __construct(
2727
$this->indexBy = $indexBy;
2828
}
2929

30-
public function getTargetEntity(Repository $config): string|null
30+
public function getTargetEntity(Config $config): string|null
3131
{
3232
return $this->targetEntity ?: $config->get('acl.organisations.entity', 'Organisation');
3333
}

src/Mappings/Builders/JsonArrayBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
99
use Doctrine\ORM\Mapping\Builder\FieldBuilder;
1010
use Doctrine\Persistence\Mapping\ClassMetadata;
11-
use Illuminate\Contracts\Config\Repository;
11+
use Illuminate\Contracts\Config\Repository as Config;
1212
use LaravelDoctrine\ACL\Mappings\MappingAttribute;
1313
use ReflectionProperty;
1414

1515
class JsonArrayBuilder implements Builder
1616
{
17-
public function __construct(protected Repository $config)
17+
public function __construct(protected Config $config)
1818
{
1919
}
2020

src/Mappings/Builders/ManyToManyBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
use Doctrine\ORM\Mapping\Builder\ManyToManyAssociationBuilder;
99
use Doctrine\ORM\Mapping\ClassMetadata as OrmClassMetadata;
1010
use Doctrine\Persistence\Mapping\ClassMetadata;
11-
use Illuminate\Contracts\Config\Repository;
11+
use Illuminate\Contracts\Config\Repository as Config;
1212
use LaravelDoctrine\ACL\Mappings\MappingAttribute;
1313
use ReflectionProperty;
1414

1515
class ManyToManyBuilder implements Builder
1616
{
17-
public function __construct(protected Repository $config)
17+
public function __construct(protected Config $config)
1818
{
1919
}
2020

src/Mappings/Builders/ManyToOneBuilder.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
99
use Doctrine\ORM\Mapping\ClassMetadata as OrmClassMetadata;
1010
use Doctrine\Persistence\Mapping\ClassMetadata;
11-
use Illuminate\Contracts\Config\Repository;
11+
use Illuminate\Contracts\Config\Repository as Config;
1212
use LaravelDoctrine\ACL\Mappings\MappingAttribute;
1313
use ReflectionProperty;
1414

1515
class ManyToOneBuilder implements Builder
1616
{
17-
public function __construct(protected Repository $config)
17+
public function __construct(protected Config $config)
1818
{
1919
}
2020

src/Mappings/HasPermissions.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace LaravelDoctrine\ACL\Mappings;
66

77
use Attribute;
8-
use Illuminate\Contracts\Config\Repository;
8+
use Illuminate\Contracts\Config\Repository as Config;
99

1010
#[Attribute(Attribute::TARGET_PROPERTY)]
1111
final class HasPermissions extends RelationAttribute
@@ -27,7 +27,7 @@ public function __construct(
2727
$this->indexBy = $indexBy;
2828
}
2929

30-
public function getTargetEntity(Repository $config): string|null
30+
public function getTargetEntity(Config $config): string|null
3131
{
3232
// Config driver has no target entity
3333
if ($config->get('acl.permissions.driver', 'config') === 'config') {

src/Mappings/HasRoles.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace LaravelDoctrine\ACL\Mappings;
66

77
use Attribute;
8-
use Illuminate\Contracts\Config\Repository;
8+
use Illuminate\Contracts\Config\Repository as Config;
99

1010
#[Attribute(Attribute::TARGET_PROPERTY)]
1111
final class HasRoles extends RelationAttribute
@@ -27,7 +27,7 @@ public function __construct(
2727
$this->indexBy = $indexBy;
2828
}
2929

30-
public function getTargetEntity(Repository $config): string|null
30+
public function getTargetEntity(Config $config): string|null
3131
{
3232
return $this->targetEntity ?: $config->get('acl.roles.entity', 'Role');
3333
}

src/Mappings/MappingAttribute.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
namespace LaravelDoctrine\ACL\Mappings;
66

77
use Doctrine\ORM\Mapping\MappingAttribute as DoctrineMappingAttribute;
8-
use Illuminate\Contracts\Config\Repository;
8+
use Illuminate\Contracts\Config\Repository as Config;
99

1010
interface MappingAttribute extends DoctrineMappingAttribute
1111
{
12-
public function getTargetEntity(Repository $config): string|null;
12+
public function getTargetEntity(Config $config): string|null;
1313
}

src/Mappings/RegisterMappedEventSubscribers.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,19 @@
77
use Doctrine\Common\EventManager;
88
use Doctrine\DBAL\Connection;
99
use Doctrine\ORM\Configuration;
10+
use Illuminate\Contracts\Config\Repository as Config;
1011
use LaravelDoctrine\ACL\Mappings\Subscribers\BelongsToOrganisationsSubscriber;
1112
use LaravelDoctrine\ACL\Mappings\Subscribers\BelongsToOrganisationSubscriber;
1213
use LaravelDoctrine\ACL\Mappings\Subscribers\HasPermissionsSubscriber;
1314
use LaravelDoctrine\ACL\Mappings\Subscribers\HasRolesSubscriber;
15+
use LaravelDoctrine\ACL\Mappings\Subscribers\MappedEventSubscriber;
1416
use LaravelDoctrine\ORM\DoctrineExtender;
1517

1618
use function app;
1719

1820
class RegisterMappedEventSubscribers implements DoctrineExtender
1921
{
20-
/** @var class-string[] $subscribers */
22+
/** @var array<class-string<MappedEventSubscriber>> $subscribers */
2123
protected array $subscribers = [
2224
BelongsToOrganisationsSubscriber::class,
2325
BelongsToOrganisationSubscriber::class,
@@ -27,10 +29,9 @@ class RegisterMappedEventSubscribers implements DoctrineExtender
2729

2830
public function extend(Configuration $configuration, Connection $connection, EventManager $eventManager): void
2931
{
32+
$config = app(Config::class);
3033
foreach ($this->subscribers as $subscriber) {
31-
$eventManager->addEventSubscriber(
32-
new $subscriber(app('config')),
33-
);
34+
$eventManager->addEventSubscriber(new $subscriber($config));
3435
}
3536
}
3637
}

src/Mappings/RelationAttribute.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,9 @@ abstract class RelationAttribute implements MappingAttribute
88
{
99
public string|null $targetEntity;
1010
public string|null $mappedBy;
11-
1211
/** @var string[] */
1312
public array|null $cascade;
14-
15-
public string $fetch = 'LAZY';
16-
13+
public string $fetch = 'LAZY';
1714
public bool $orphanRemoval = false;
18-
1915
public string|null $indexBy;
2016
}

src/Mappings/Subscribers/MappedEventSubscriber.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
99
use Doctrine\ORM\Events;
1010
use Doctrine\Persistence\Mapping\ClassMetadata;
11-
use Illuminate\Contracts\Config\Repository;
11+
use Illuminate\Contracts\Config\Repository as Config;
1212
use LaravelDoctrine\ACL\Mappings\Builders\Builder;
1313
use LaravelDoctrine\ACL\Mappings\MappingAttribute;
1414
use ReflectionClass;
@@ -22,7 +22,7 @@ abstract protected function shouldBeMapped(ClassMetadata $metadata): bool;
2222

2323
abstract protected function getBuilder(MappingAttribute $attribute): Builder;
2424

25-
public function __construct(protected Repository $config)
25+
public function __construct(protected Config $config)
2626
{
2727
}
2828

0 commit comments

Comments
 (0)