add Comment entity, dto, repository interface
This commit is contained in:
parent
015e61caf7
commit
0d589340d9
3 changed files with 73 additions and 0 deletions
41
backend/app/Comment/Comment.php
Normal file
41
backend/app/Comment/Comment.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace App\Comment;
|
||||
|
||||
use DateTimeImmutable;
|
||||
|
||||
class Comment
|
||||
{
|
||||
public function __construct(
|
||||
private int $id,
|
||||
private int $postId,
|
||||
private int $userId,
|
||||
private string $body,
|
||||
private DateTimeImmutable $createdAt,
|
||||
) {}
|
||||
|
||||
public function getId(): int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getPostId(): int
|
||||
{
|
||||
return $this->postId;
|
||||
}
|
||||
|
||||
public function getUserId(): int
|
||||
{
|
||||
return $this->userId;
|
||||
}
|
||||
|
||||
public function getBody(): string
|
||||
{
|
||||
return $this->body;
|
||||
}
|
||||
|
||||
public function getCreatedAt(): DateTimeImmutable
|
||||
{
|
||||
return $this->createdAt;
|
||||
}
|
||||
}
|
||||
17
backend/app/Comment/CommentRepository.php
Normal file
17
backend/app/Comment/CommentRepository.php
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
namespace App\Comment;
|
||||
|
||||
interface CommentRepository
|
||||
{
|
||||
public function create(CreateCommentDto $dto): Comment;
|
||||
|
||||
public function find(int $id): ?Comment;
|
||||
|
||||
/**
|
||||
* @return Comment[]
|
||||
*/
|
||||
public function findByPostId(int $postId): array;
|
||||
|
||||
public function delete(int $id): void;
|
||||
}
|
||||
15
backend/app/Comment/CreateCommentDto.php
Normal file
15
backend/app/Comment/CreateCommentDto.php
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace App\Comment;
|
||||
|
||||
use DateTimeImmutable;
|
||||
|
||||
readonly class CreateCommentDto
|
||||
{
|
||||
public function __construct(
|
||||
public int $postId,
|
||||
public int $userId,
|
||||
public string $body,
|
||||
public DateTimeImmutable $createdAt,
|
||||
) {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue