Skip to content

Commit ed8368d

Browse files
TatevikGrtatevikg1
andauthored
ISSUE-345: fix alias error + mappings
* ISSUE-345: fix alias error * ISSUE-345: fix doctrine mappings --------- Co-authored-by: Tatevik <[email protected]>
1 parent 08de0b4 commit ed8368d

File tree

7 files changed

+15
-25
lines changed

7 files changed

+15
-25
lines changed

composer.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
{
1515
"name": "Xheni Myrtaj",
1616
"email": "[email protected]",
17-
"role": "Maintainer"
17+
"role": "Former developer"
1818
},
1919
{
2020
"name": "Oliver Klee",
@@ -25,6 +25,11 @@
2525
"name": "Sam Tuke",
2626
"email": "[email protected]",
2727
"role": "Former developer"
28+
},
29+
{
30+
"name": "Tatevik Grigoryan",
31+
"email": "[email protected]",
32+
"role": "Maintainer"
2833
}
2934
],
3035
"support": {

src/Domain/Model/Messaging/Message/MessageFormat.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@ class MessageFormat implements EmbeddableInterface
1717
#[ORM\Column(name: 'sendformat', type: 'string', length: 20, nullable: true)]
1818
private ?string $sendFormat = null;
1919

20-
#[ORM\Column(name: 'astext', type: 'integer', options: ['default' => 0])]
20+
#[ORM\Column(name: 'astext', type: 'boolean', options: ['default' => false])]
2121
private bool $asText = false;
2222

23-
#[ORM\Column(name: 'ashtml', type: 'integer', options: ['default' => 0])]
23+
#[ORM\Column(name: 'ashtml', type: 'boolean', options: ['default' => false])]
2424
private bool $asHtml = false;
2525

26-
#[ORM\Column(name: 'aspdf', type: 'integer', options: ['default' => 0])]
26+
#[ORM\Column(name: 'aspdf', type: 'boolean', options: ['default' => false])]
2727
private bool $asPdf = false;
2828

29-
#[ORM\Column(name: 'astextandhtml', type: 'integer', options: ['default' => 0])]
29+
#[ORM\Column(name: 'astextandhtml', type: 'boolean', options: ['default' => false])]
3030
private bool $asTextAndHtml = false;
3131

32-
#[ORM\Column(name: 'astextandpdf', type: 'integer', options: ['default' => 0])]
32+
#[ORM\Column(name: 'astextandpdf', type: 'boolean', options: ['default' => false])]
3333
private bool $asTextAndPdf = false;
3434

3535
public const FORMAT_TEXT = 'text';

src/Domain/Model/Messaging/TemplateImage.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class TemplateImage implements DomainModel, Identity
1919
#[ORM\GeneratedValue]
2020
private ?int $id = null;
2121

22-
#[ORM\ManyToOne(targetEntity: Template::class)]
23-
#[ORM\JoinColumn(name: 'template', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
22+
#[ORM\ManyToOne(targetEntity: Template::class, inversedBy: 'images')]
23+
#[ORM\JoinColumn(name: 'template', referencedColumnName: 'id', nullable: false)]
2424
private Template $template;
2525

2626
#[ORM\Column(name: 'mimetype', type: 'string', length: 100, nullable: true)]

src/Domain/Model/Subscription/SubscriberAttribute.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class SubscriberAttribute implements DomainModel
2121
private SubscriberAttributeDefinition $attributeDefinition;
2222

2323
#[ORM\Id]
24-
#[ORM\ManyToOne(targetEntity: Subscriber::class)]
24+
#[ORM\ManyToOne(targetEntity: Subscriber::class, inversedBy: 'attributes')]
2525
#[ORM\JoinColumn(name: 'userid', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
2626
private Subscriber $subscriber;
2727

src/Domain/Repository/AbstractRepository.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace PhpList\Core\Domain\Repository;
66

77
use Doctrine\ORM\EntityRepository;
8-
use LogicException;
98
use PhpList\Core\Domain\Model\Interfaces\DomainModel;
109

1110
/**
@@ -49,13 +48,4 @@ public function remove(DomainModel $model): void
4948
$this->getEntityManager()->remove($model);
5049
$this->getEntityManager()->flush();
5150
}
52-
53-
public function getAlias(): string
54-
{
55-
if (!$this->alias) {
56-
throw new LogicException('Alias not set in repository: ' . static::class);
57-
}
58-
59-
return $this->alias;
60-
}
6151
}

src/Domain/Repository/Messaging/MessageRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function getByOwnerId(int $ownerId): array
2424
/** @return Message[] */
2525
public function getFilteredAfterId(int $lastId, int $limit, ?FilterRequestInterface $filter = null): array
2626
{
27-
$queryBuilder = $this->createQueryBuilder($this->getAlias());
27+
$queryBuilder = $this->createQueryBuilder('m');
2828

2929
if ($filter instanceof MessageFilter && $filter->getOwner() !== null) {
3030
$queryBuilder->andWhere('IDENTITY(m.owner) = :ownerId')

tests/Unit/Domain/Repository/DummyRepository.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ public function __construct(private readonly QueryBuilder $queryBuilder)
1818
{
1919
}
2020

21-
public function getAlias(): string
22-
{
23-
return 'dummy';
24-
}
25-
2621
/** Doctrine normally injects the QB through $this->createQueryBuilder(). */
2722
protected function createQueryBuilder(string $alias): QueryBuilder
2823
{

0 commit comments

Comments
 (0)