mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
feat: add Connector to WatchListTrigger
This commit is contained in:
@@ -1,36 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace DoctrineMigrations;
|
|
||||||
|
|
||||||
use Doctrine\DBAL\Schema\Schema;
|
|
||||||
use Doctrine\Migrations\AbstractMigration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Auto-generated Migration: Please modify to your needs!
|
|
||||||
*/
|
|
||||||
final class Version20240728212316 extends AbstractMigration
|
|
||||||
{
|
|
||||||
public function getDescription(): string
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
public function up(Schema $schema): void
|
|
||||||
{
|
|
||||||
// this up() migration is auto-generated, please modify it to your needs
|
|
||||||
$this->addSql('ALTER TABLE watch_list ADD connector_id INT DEFAULT NULL');
|
|
||||||
$this->addSql('ALTER TABLE watch_list ADD CONSTRAINT FK_152B584B4D085745 FOREIGN KEY (connector_id) REFERENCES connector (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
|
||||||
$this->addSql('CREATE INDEX IDX_152B584B4D085745 ON watch_list (connector_id)');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function down(Schema $schema): void
|
|
||||||
{
|
|
||||||
// this down() migration is auto-generated, please modify it to your needs
|
|
||||||
$this->addSql('CREATE SCHEMA public');
|
|
||||||
$this->addSql('ALTER TABLE watch_list DROP CONSTRAINT FK_152B584B4D085745');
|
|
||||||
$this->addSql('DROP INDEX IDX_152B584B4D085745');
|
|
||||||
$this->addSql('ALTER TABLE watch_list DROP connector_id');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
36
migrations/Version20240728213336.php
Normal file
36
migrations/Version20240728213336.php
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace DoctrineMigrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20240728213336 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this up() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger ADD connector_id INT DEFAULT NULL');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger ADD CONSTRAINT FK_CF857A4C4D085745 FOREIGN KEY (connector_id) REFERENCES connector (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
|
||||||
|
$this->addSql('CREATE INDEX IDX_CF857A4C4D085745 ON watch_list_trigger (connector_id)');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this down() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('CREATE SCHEMA public');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger DROP CONSTRAINT FK_CF857A4C4D085745');
|
||||||
|
$this->addSql('DROP INDEX IDX_CF857A4C4D085745');
|
||||||
|
$this->addSql('ALTER TABLE watch_list_trigger DROP connector_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
8
src/Config/ConnectorInterface.php
Normal file
8
src/Config/ConnectorInterface.php
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Config;
|
||||||
|
|
||||||
|
interface ConnectorInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -32,14 +32,14 @@ class Connector
|
|||||||
private array $authData = [];
|
private array $authData = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Collection<int, WatchList>
|
* @var Collection<int, WatchListTrigger>
|
||||||
*/
|
*/
|
||||||
#[ORM\OneToMany(targetEntity: WatchList::class, mappedBy: 'connector')]
|
#[ORM\OneToMany(targetEntity: WatchListTrigger::class, mappedBy: 'connector')]
|
||||||
private Collection $watchLists;
|
private Collection $watchListTriggers;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->watchLists = new ArrayCollection();
|
$this->watchListTriggers = new ArrayCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): ?int
|
public function getId(): ?int
|
||||||
@@ -84,29 +84,29 @@ class Connector
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Collection<int, WatchList>
|
* @return Collection<int, WatchListTrigger>
|
||||||
*/
|
*/
|
||||||
public function getWatchLists(): Collection
|
public function getWatchListTriggers(): Collection
|
||||||
{
|
{
|
||||||
return $this->watchLists;
|
return $this->watchListTriggers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addWatchList(WatchList $watchList): static
|
public function addWatchListTrigger(WatchListTrigger $watchListTrigger): static
|
||||||
{
|
{
|
||||||
if (!$this->watchLists->contains($watchList)) {
|
if (!$this->watchListTriggers->contains($watchListTrigger)) {
|
||||||
$this->watchLists->add($watchList);
|
$this->watchListTriggers->add($watchListTrigger);
|
||||||
$watchList->setConnector($this);
|
$watchListTrigger->setConnector($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removeWatchList(WatchList $watchList): static
|
public function removeWatchListTrigger(WatchListTrigger $watchListTrigger): static
|
||||||
{
|
{
|
||||||
if ($this->watchLists->removeElement($watchList)) {
|
if ($this->watchListTriggers->removeElement($watchListTrigger)) {
|
||||||
// set the owning side to null (unless already changed)
|
// set the owning side to null (unless already changed)
|
||||||
if ($watchList->getConnector() === $this) {
|
if ($watchListTrigger->getConnector() === $this) {
|
||||||
$watchList->setConnector(null);
|
$watchListTrigger->setConnector(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
namespace App\Entity;
|
namespace App\Entity;
|
||||||
|
|
||||||
|
use App\Config\ConnectorInterface;
|
||||||
use Doctrine\ORM\Mapping\Entity;
|
use Doctrine\ORM\Mapping\Entity;
|
||||||
|
|
||||||
#[Entity]
|
#[Entity]
|
||||||
class OVHConnector extends Connector
|
class OVHConnector extends Connector implements ConnectorInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -69,9 +69,6 @@ class WatchList
|
|||||||
#[SerializedName("triggers")]
|
#[SerializedName("triggers")]
|
||||||
private Collection $watchListTriggers;
|
private Collection $watchListTriggers;
|
||||||
|
|
||||||
#[ORM\ManyToOne(inversedBy: 'watchLists')]
|
|
||||||
private ?Connector $connector = null;
|
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->token = Uuid::v4();
|
$this->token = Uuid::v4();
|
||||||
@@ -149,16 +146,4 @@ class WatchList
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConnector(): ?Connector
|
|
||||||
{
|
|
||||||
return $this->connector;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setConnector(?Connector $connector): static
|
|
||||||
{
|
|
||||||
$this->connector = $connector;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ class WatchListTrigger
|
|||||||
#[Groups(['watchlist:list', 'watchlist:item', 'watchlist:create', 'watchlist:update'])]
|
#[Groups(['watchlist:list', 'watchlist:item', 'watchlist:create', 'watchlist:update'])]
|
||||||
private ?TriggerAction $action = null;
|
private ?TriggerAction $action = null;
|
||||||
|
|
||||||
|
#[ORM\ManyToOne(inversedBy: 'watchListTriggers')]
|
||||||
|
private ?Connector $connector = null;
|
||||||
|
|
||||||
public function getEvent(): ?string
|
public function getEvent(): ?string
|
||||||
{
|
{
|
||||||
return $this->event;
|
return $this->event;
|
||||||
@@ -61,4 +64,16 @@ class WatchListTrigger
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getConnector(): ?Connector
|
||||||
|
{
|
||||||
|
return $this->connector;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setConnector(?Connector $connector): static
|
||||||
|
{
|
||||||
|
$this->connector = $connector;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user