WIP: feature_paste #1
|
@ -13,7 +13,7 @@ final class Version20230720115905 extends AbstractMigration
|
||||||
public function up(Schema $schema): void
|
public function up(Schema $schema): void
|
||||||
skobkin marked this conversation as resolved
|
|||||||
{
|
{
|
||||||
$this->addSql('CREATE SEQUENCE paste_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
|
$this->addSql('CREATE SEQUENCE paste_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
|
||||||
$this->addSql('CREATE TABLE paste (id INT NOT NULL, text TEXT NOT NULL, language VARCHAR(25), description TEXT, filename VARCHAR(128), author VARCHAR(128) NOT NULL, publish_date TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, expiration_date TIMESTAMP(0) WITHOUT TIME ZONE, ip VARCHAR(15) NOT NULL, secret VARCHAR(40), PRIMARY KEY(id))');
|
$this->addSql('CREATE TABLE paste (id INT NOT NULL, text TEXT NOT NULL, language VARCHAR(25), description TEXT, filename VARCHAR(128), author VARCHAR(128), publish_date TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, expiration_date TIMESTAMP(0) WITHOUT TIME ZONE, ip VARCHAR(15) NOT NULL, secret VARCHAR(40), PRIMARY KEY(id))');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function down(Schema $schema): void
|
public function down(Schema $schema): void
|
||||||
|
|
|
@ -15,8 +15,7 @@ class PasteFormData
|
||||||
public ?string $language = null;
|
public ?string $language = null;
|
||||||
public ?string $description = null;
|
public ?string $description = null;
|
||||||
public ?string $filename = null;
|
public ?string $filename = null;
|
||||||
#[Assert\NotBlank]
|
public ?string $author = null;
|
||||||
public string $author = 'anonymous';
|
|
||||||
public ?\DateTimeImmutable $expirationDate;
|
public ?\DateTimeImmutable $expirationDate;
|
||||||
|
|
||||||
skobkin marked this conversation as resolved
skobkin
commented
Why Why `string` and `Assert\NotBlank`?
|
|||||||
public function __construct(?Paste $paste = null)
|
public function __construct(?Paste $paste = null)
|
||||||
|
@ -30,7 +29,7 @@ class PasteFormData
|
||||||
$this->language = $paste->language;
|
$this->language = $paste->language;
|
||||||
$this->description = $paste->description;
|
$this->description = $paste->description;
|
||||||
$this->filename = $paste->filename;
|
$this->filename = $paste->filename;
|
||||||
$this->author = $paste->author;
|
$this->author = $paste->author !== null ? $paste->author : 'anonymous';
|
||||||
$this->expirationDate = $paste->expirationDate;
|
$this->expirationDate = $paste->expirationDate;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -23,8 +23,8 @@ class Paste
|
||||||
public readonly ?string $description,
|
public readonly ?string $description,
|
||||||
#[ORM\Column(type: 'string', length: 128, nullable: true)]
|
#[ORM\Column(type: 'string', length: 128, nullable: true)]
|
||||||
public readonly ?string $filename,
|
public readonly ?string $filename,
|
||||||
skobkin
commented
Why 128? Why 128?
|
|||||||
#[ORM\Column(type: 'string', length: 128, nullable: false)]
|
#[ORM\Column(type: 'string', length: 128, nullable: true)]
|
||||||
public readonly string $author,
|
public readonly ?string $author,
|
||||||
#[ORM\Column(type: 'datetime_immutable', nullable: false)]
|
#[ORM\Column(type: 'datetime_immutable', nullable: false)]
|
||||||
public readonly \DateTimeImmutable $publishDate,
|
public readonly \DateTimeImmutable $publishDate,
|
||||||
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
|
#[ORM\Column(type: 'datetime_immutable', nullable: true)]
|
||||||
|
|
|
@ -28,7 +28,7 @@ class PasteForm extends AbstractType
|
||||||
)
|
)
|
||||||
->add('description', TextType::class, ['required' => false])
|
->add('description', TextType::class, ['required' => false])
|
||||||
->add('text', TextareaType::class)
|
->add('text', TextareaType::class)
|
||||||
->add('author', TextType::class, ['attr' => ['maxlength' =>128]])
|
->add('author', TextType::class, ['attr' => ['maxlength' => 128], 'required' => false])
|
||||||
->add('filename', TextType::class, ['required' => false, 'attr' => ['maxlength' =>128]])
|
->add('filename', TextType::class, ['required' => false, 'attr' => ['maxlength' =>128]])
|
||||||
skobkin
commented
Why 128? Why 128?
|
|||||||
->add('expirationDate', DateTimeType::class, [
|
->add('expirationDate', DateTimeType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
|
Loading…
Reference in a new issue
Do you need it here if it's empty?