add Post entity, dto, repository interface
Post: id, userId (fk -> User), title, body, createdAt as DateTimeImmutable. CreatePostDto readonly with explicit createdAt (use case supplies it via Clock; entity remains pure). PostRepository: create, find, findByUserId, findRecent (limit), delete.
This commit is contained in:
parent
9ca58f3a9d
commit
73a3acd39f
3 changed files with 78 additions and 0 deletions
22
backend/app/Post/PostRepository.php
Normal file
22
backend/app/Post/PostRepository.php
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
interface PostRepository
|
||||
{
|
||||
public function create(CreatePostDto $dto): Post;
|
||||
|
||||
public function find(int $id): ?Post;
|
||||
|
||||
/**
|
||||
* @return Post[]
|
||||
*/
|
||||
public function findByUserId(int $userId): array;
|
||||
|
||||
/**
|
||||
* @return Post[]
|
||||
*/
|
||||
public function findRecent(int $limit): array;
|
||||
|
||||
public function delete(int $id): void;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue