WIP: feature_paste #1
|
@ -24,9 +24,8 @@ class PasteController extends AbstractController
|
|||
$form->handleRequest($request);
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$pasteData = $form->getData();
|
||||
skobkin marked this conversation as resolved
Outdated
|
||||
$pasteData->ip = $request->getClientIp();
|
||||
|
||||
skobkin marked this conversation as resolved
Outdated
skobkin
commented
Do you need IP in Do you need IP in `PasteData`?
|
||||
$paste = Paste::fromFormData($pasteData);
|
||||
$paste = Paste::fromFormDataAndIp($pasteData, $request->getClientIp());
|
||||
$pasteRepository->save($paste, true);
|
||||
skobkin marked this conversation as resolved
Outdated
skobkin
commented
Do we need double quotes here? By the way, we can also do that in the constructor. Do we need double quotes here?
By the way, we can also do that in the constructor.
skobkin marked this conversation as resolved
Outdated
skobkin
commented
This still could be done in the entity itself. This still could be done in the entity itself.
|
||||
|
||||
return $this->redirectToRoute($request->attributes->get('_route'));
|
||||
|
|
|
@ -18,7 +18,6 @@ class PasteFormData
|
|||
#[Assert\NotBlank]
|
||||
public string $author = 'anonymous';
|
||||
public ?\DateTimeImmutable $expirationDate;
|
||||
skobkin marked this conversation as resolved
skobkin
commented
Why Why `string` and `Assert\NotBlank`?
|
||||
public string $ip;
|
||||
|
||||
public function __construct(?Paste $paste=null)
|
||||
skobkin marked this conversation as resolved
skobkin
commented
Is this validation being processed BEFORE storing the data in the DTO? Is this validation being processed BEFORE storing the data in the DTO?
If not, it's pointless as with `bool` field earlier.
|
||||
{
|
||||
|
|
|
@ -35,7 +35,7 @@ class Paste
|
|||
public readonly ?string $secret,
|
||||
) {}
|
||||
skobkin marked this conversation as resolved
Outdated
skobkin
commented
Why double quotes? Why double quotes?
|
||||
|
||||
public static function fromFormData(PasteFormData $pasteFormData): Paste
|
||||
public static function fromFormDataAndIp(PasteFormData $pasteFormData, $ip): Paste
|
||||
skobkin
commented
You can use You can use `self` as return type hint too.
|
||||
{
|
||||
return new self(
|
||||
skobkin marked this conversation as resolved
Outdated
skobkin
commented
Why mutable date? Do you plan to change publish date? Why mutable date? Do you plan to change publish date?
|
||||
$pasteFormData->text,
|
||||
|
@ -45,7 +45,7 @@ class Paste
|
|||
$pasteFormData->author,
|
||||
new \DateTimeImmutable(),
|
||||
$pasteFormData->expirationDate,
|
||||
$pasteFormData->ip,
|
||||
$ip,
|
||||
$pasteFormData->private ? \hash('sha1', \random_bytes(25)) : null,
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue
You can just set it in the constructor.