refs #632. Create table ogLive

feature/comunication-ogagent
Manuel Aranda Rosales 2024-08-09 08:18:51 +02:00
parent 1b22192d33
commit b855557594
10 changed files with 175 additions and 0 deletions

View File

View File

@ -0,0 +1,31 @@
<?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 Version20240808140716 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('CREATE TABLE og_live (id INT AUTO_INCREMENT NOT NULL, uuid CHAR(36) NOT NULL COMMENT \'(DC2Type:uuid)\', migration_id VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, created_by VARCHAR(255) DEFAULT NULL, updated_by VARCHAR(255) DEFAULT NULL, download_url VARCHAR(255) DEFAULT NULL, name VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_3D6B7739D17F50A6 (uuid), UNIQUE INDEX UNIQ_IDENTIFIER_NAME (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP TABLE og_live');
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace App\Dto\Input;
class OgLiveInput
{
}

View File

@ -0,0 +1,8 @@
<?php
namespace App\Dto\Output;
class OgLiveOutput
{
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Entity;
use App\Repository\OgLiveRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
#[ORM\Entity(repositoryClass: OgLiveRepository::class)]
#[ORM\UniqueConstraint(name: 'UNIQ_IDENTIFIER_NAME', fields: ['name'])]
#[UniqueEntity(fields: ['name'], message: 'validators.og_live.name.unique')]
class OgLive extends AbstractEntity
{
use NameableTrait;
#[ORM\Column(length: 255, nullable: true)]
private ?string $downloadUrl = null;
public function getDownloadUrl(): ?string
{
return $this->downloadUrl;
}
public function setDownloadUrl(?string $downloadUrl): static
{
$this->downloadUrl = $downloadUrl;
return $this;
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace App\Factory;
use App\Entity\OgLive;
use App\Repository\OgLiveRepository;
use Zenstruck\Foundry\ModelFactory;
use Zenstruck\Foundry\Persistence\PersistentProxyObjectFactory;
use Zenstruck\Foundry\Persistence\Proxy;
use Zenstruck\Foundry\Persistence\ProxyRepositoryDecorator;
/**
* @extends PersistentProxyObjectFactory<OgLive>
*/
final class OgLiveFactory extends ModelFactory
{
/**
* @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#factories-as-services
*
* @todo inject services if required
*/
public function __construct()
{
parent::__construct();
}
/**
* @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#model-factories
*
* @todo add your default values here
*/
protected function getDefaults(): array
{
return [
'createdAt' => self::faker()->dateTime(),
'name' => self::faker()->text(255),
'downloadUrl' => self::faker()->text(255),
'updatedAt' => self::faker()->dateTime(),
];
}
/**
* @see https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#initialization
*/
protected function initialize(): self
{
return $this
// ->afterInstantiate(function(OgLive $ogLive): void {})
;
}
protected static function getClass(): string
{
return OgLive::class;
}
}

View File

@ -0,0 +1,18 @@
<?php
namespace App\Repository;
use App\Entity\OgLive;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
/**
* @extends ServiceEntityRepository<OgLive>
*/
class OgLiveRepository extends AbstractRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, OgLive::class);
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace App\State\Processor;
class OgLiveProcessor
{
}

View File

@ -0,0 +1,8 @@
<?php
namespace App\State\Provider;
class OgLiveProvider
{
}

View File

@ -0,0 +1,8 @@
<?php
namespace Functional;
class OgLiveTest
{
}