23 lines
462 B
PHP
23 lines
462 B
PHP
<?php
|
|
|
|
namespace App\User;
|
|
|
|
use App\Shared\ValueObject\EmailAddress;
|
|
|
|
interface UserRepository
|
|
{
|
|
public function create(CreateUserDto $dto): User;
|
|
|
|
public function find(int $id): ?User;
|
|
|
|
public function findByEmail(EmailAddress $email): ?User;
|
|
|
|
public function findByDisplayName(string $displayName): ?User;
|
|
|
|
public function update(User $user): User;
|
|
|
|
/**
|
|
* @return User[]
|
|
*/
|
|
public function search(string $query): array;
|
|
}
|