Skip to content

Commit 6bb6051

Browse files
committed
Create Dependent and Suggester entities
1 parent e764646 commit 6bb6051

File tree

4 files changed

+114
-21
lines changed

4 files changed

+114
-21
lines changed

src/Doctrine/Entity/Dependent.php

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?php
2+
3+
namespace CodedMonkey\Dirigent\Doctrine\Entity;
4+
5+
use Doctrine\ORM\Mapping as ORM;
6+
7+
#[ORM\Entity]
8+
class Dependent
9+
{
10+
#[ORM\Id, ORM\ManyToOne(targetEntity: Package::class), ORM\JoinColumn(nullable: false)]
11+
private ?Package $package = null;
12+
13+
#[ORM\Id, ORM\Column(length: 191)]
14+
private string $dependentPackageName;
15+
16+
#[ORM\Id, ORM\Column]
17+
private bool $devDependency;
18+
19+
public function getPackage(): ?Package
20+
{
21+
return $this->package;
22+
}
23+
24+
public function setPackage(Package $package): static
25+
{
26+
$this->package = $package;
27+
28+
return $this;
29+
}
30+
31+
public function getDependentPackageName(): string
32+
{
33+
return $this->dependentPackageName;
34+
}
35+
36+
public function setDependentPackageName(string $packageName): static
37+
{
38+
$this->dependentPackageName = $packageName;
39+
40+
return $this;
41+
}
42+
43+
public function isDevDependency(): bool
44+
{
45+
return $this->devDependency;
46+
}
47+
48+
public function setDevDependency(bool $devDependency): static
49+
{
50+
$this->devDependency = $devDependency;
51+
52+
return $this;
53+
}
54+
}

src/Doctrine/Entity/PackageLink.php

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,58 +13,58 @@ abstract class PackageLink
1313
#[ORM\GeneratedValue]
1414
private ?int $id = null;
1515

16-
#[ORM\Column(length: 191)]
17-
private string $packageName;
18-
19-
#[ORM\Column(type: Types::TEXT)]
20-
private string $packageVersion;
21-
2216
/**
2317
* Base property holding the version - this must remain protected since it
2418
* is redefined with an attribute in the child class.
2519
*/
2620
protected Version $version;
2721

22+
#[ORM\Column(length: 191)]
23+
private string $linkedPackageName;
24+
25+
#[ORM\Column(type: Types::TEXT)]
26+
private string $linkedPackageVersion;
27+
2828
public function getId(): ?int
2929
{
3030
return $this->id;
3131
}
3232

33-
public function getPackageName(): string
33+
public function getVersion(): Version
3434
{
35-
return $this->packageName;
35+
return $this->version;
3636
}
3737

38-
public function setPackageName(string $packageName): void
38+
public function setVersion(Version $version): void
3939
{
40-
$this->packageName = $packageName;
40+
$this->version = $version;
4141
}
4242

43-
public function getPackageVersion(): string
43+
public function getLinkedPackageName(): string
4444
{
45-
return $this->packageVersion;
45+
return $this->linkedPackageName;
4646
}
4747

48-
public function setPackageVersion(string $packageVersion): void
48+
public function setLinkedPackageName(string $packageName): void
4949
{
50-
$this->packageVersion = $packageVersion;
50+
$this->linkedPackageName = $packageName;
5151
}
5252

53-
public function getVersion(): ?Version
53+
public function getLinkedPackageVersion(): string
5454
{
55-
return $this->version;
55+
return $this->linkedPackageVersion;
5656
}
5757

58-
public function setVersion(Version $version): void
58+
public function setLinkedPackageVersion(string $packageVersion): void
5959
{
60-
$this->version = $version;
60+
$this->linkedPackageVersion = $packageVersion;
6161
}
6262

6363
/**
6464
* @return non-empty-array<string, string>
6565
*/
6666
public function toArray(): array
6767
{
68-
return [$this->getPackageName() => $this->getPackageVersion()];
68+
return [$this->getLinkedPackageName() => $this->getLinkedPackageVersion()];
6969
}
7070
}

src/Doctrine/Entity/Suggester.php

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
namespace CodedMonkey\Dirigent\Doctrine\Entity;
4+
5+
use Doctrine\ORM\Mapping as ORM;
6+
7+
#[ORM\Entity]
8+
class Suggester
9+
{
10+
#[ORM\Id, ORM\ManyToOne(targetEntity: Package::class), ORM\JoinColumn(nullable: false)]
11+
private ?Package $package = null;
12+
13+
#[ORM\Id, ORM\Column(length: 191)]
14+
private string $suggestedPackageName;
15+
16+
public function getPackage(): ?Package
17+
{
18+
return $this->package;
19+
}
20+
21+
public function setPackage(Package $package): static
22+
{
23+
$this->package = $package;
24+
25+
return $this;
26+
}
27+
28+
public function getSuggestedPackageName(): string
29+
{
30+
return $this->suggestedPackageName;
31+
}
32+
33+
public function setSuggestedPackageName(string $packageName): static
34+
{
35+
$this->suggestedPackageName = $packageName;
36+
37+
return $this;
38+
}
39+
}

src/Package/PackageMetadataResolver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ private function updateVersion(Package $package, Version $version, CompletePacka
318318
if ($suggests = $data->getSuggests()) {
319319
foreach ($version->getSuggest() as $link) {
320320
// clear links that have changed/disappeared (for updates)
321-
if (!isset($suggests[$link->getPackageName()]) || $suggests[$link->getPackageName()] !== $link->getPackageVersion()) {
321+
if (!isset($suggests[$link->getPackageName()]) || $suggests[$link->getPackageName()] !== $link->getLinkedPackageVersion()) {
322322
$version->getSuggest()->removeElement($link);
323323
$em->remove($link);
324324
} else {
@@ -330,7 +330,7 @@ private function updateVersion(Package $package, Version $version, CompletePacka
330330
foreach ($suggests as $linkPackageName => $linkPackageVersion) {
331331
$link = new SuggestLink();
332332
$link->setPackageName($linkPackageName);
333-
$link->setPackageVersion($linkPackageVersion);
333+
$link->setLinkedPackageVersion($linkPackageVersion);
334334
$version->addSuggestLink($link);
335335
$link->setVersion($version);
336336
$em->persist($link);

0 commit comments

Comments
 (0)