set nullable: true for author property

This commit is contained in:
mitsuha_s 2023-07-23 14:39:22 +03:00
parent 6a2f15d1d6
commit ea7ddcde65
5 changed files with 8 additions and 9 deletions

View file

@ -13,7 +13,7 @@ final class Version20230720115905 extends AbstractMigration
public function up(Schema $schema): void
{
$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

View file

@ -37,7 +37,7 @@ class PasteController extends AbstractController
}
#[Route('/{id}/{secret}')]
public function showPaste(PasteRepository $pasteRepository, string $id, ?string $secret=NULL): Response
public function showPaste(PasteRepository $pasteRepository, string $id, ?string $secret = NULL): Response
{
$paste = $pasteRepository->findOneBy(['id' => $id, 'secret' => $secret]);
$pasteData = new PasteFormData($paste);

View file

@ -15,11 +15,10 @@ class PasteFormData
public ?string $language = null;
public ?string $description = null;
public ?string $filename = null;
#[Assert\NotBlank]
public string $author = 'anonymous';
public ?string $author = null;
public ?\DateTimeImmutable $expirationDate;
public function __construct(?Paste $paste=null)
public function __construct(?Paste $paste = null)
{
if ($paste === null)
{
@ -30,7 +29,7 @@ class PasteFormData
$this->language = $paste->language;
$this->description = $paste->description;
$this->filename = $paste->filename;
$this->author = $paste->author;
$this->author = $paste->author !== null ? $paste->author : 'anonymous';
$this->expirationDate = $paste->expirationDate;
}
}

View file

@ -23,8 +23,8 @@ class Paste
public readonly ?string $description,
#[ORM\Column(type: 'string', length: 128, nullable: true)]
public readonly ?string $filename,
#[ORM\Column(type: 'string', length: 128, nullable: false)]
public readonly string $author,
#[ORM\Column(type: 'string', length: 128, nullable: true)]
public readonly ?string $author,
#[ORM\Column(type: 'datetime_immutable', nullable: false)]
public readonly \DateTimeImmutable $publishDate,
#[ORM\Column(type: 'datetime_immutable', nullable: true)]

View file

@ -28,7 +28,7 @@ class PasteForm extends AbstractType
)
->add('description', TextType::class, ['required' => false])
->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('expirationDate', DateTimeType::class, [
'required' => false,