feat: update Connector entity

This commit is contained in:
Maël Gangloff 2024-07-28 23:05:41 +02:00
parent 755803c6db
commit 15b2068d9e
No known key found for this signature in database
GPG Key ID: 11FDC81C24A7F629
3 changed files with 31 additions and 8 deletions

View File

@ -10,7 +10,7 @@ use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20240728191337 extends AbstractMigration
final class Version20240728210044 extends AbstractMigration
{
public function getDescription(): string
{
@ -20,7 +20,8 @@ final class Version20240728191337 extends AbstractMigration
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE connector (provider VARCHAR(255) NOT NULL, user_id INT NOT NULL, auth_data JSON NOT NULL, PRIMARY KEY(provider, user_id))');
$this->addSql('CREATE SEQUENCE connector_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('CREATE TABLE connector (id INT NOT NULL, user_id INT NOT NULL, auth_data JSON NOT NULL, provider VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_148C456EA76ED395 ON connector (user_id)');
$this->addSql('ALTER TABLE connector ADD CONSTRAINT FK_148C456EA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
}
@ -29,6 +30,7 @@ final class Version20240728191337 extends AbstractMigration
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('DROP SEQUENCE connector_id_seq CASCADE');
$this->addSql('ALTER TABLE connector DROP CONSTRAINT FK_148C456EA76ED395');
$this->addSql('DROP TABLE connector');
}

View File

@ -4,17 +4,24 @@ namespace App\Entity;
use App\Config\ConnectorProvider;
use App\Repository\ConnectorRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\DiscriminatorColumn;
use Doctrine\ORM\Mapping\DiscriminatorMap;
use Doctrine\ORM\Mapping\InheritanceType;
#[ORM\Entity(repositoryClass: ConnectorRepository::class)]
#[InheritanceType('SINGLE_TABLE')]
#[DiscriminatorColumn(name: 'provider', enumType: ConnectorProvider::class)]
#[DiscriminatorMap([ConnectorProvider::OVH->value => OVHConnector::class])]
class Connector
{
#[ORM\Id]
#[ORM\Column(enumType: ConnectorProvider::class)]
private ?ConnectorProvider $provider = null;
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
private ?string $provider = null;
#[ORM\Id]
#[ORM\ManyToOne(inversedBy: 'connectors')]
#[ORM\JoinColumn(nullable: false)]
private ?User $user = null;
@ -22,13 +29,17 @@ class Connector
#[ORM\Column]
private array $authData = [];
public function getId(): ?int
{
return $this->id;
}
public function getProvider(): ?ConnectorProvider
public function getProvider(): ?string
{
return $this->provider;
}
public function setProvider(ConnectorProvider $provider): static
public function setProvider(?string $provider): static
{
$this->provider = $provider;

View File

@ -0,0 +1,10 @@
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping\Entity;
#[Entity]
class OVHConnector extends Connector
{
}