for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @author Alexander Torosh <[email protected]>
*/
namespace Domain\User\Repository;
use Domain\Core\DomainException;
use Domain\User\UseCase\FetchUserCase;
use Model\User;
use Phalcon\Mvc\ModelInterface;
class UserRepository
{
* @throws DomainException
*
* @return User
public function fetchUser(int $userID): ModelInterface
$user = User::findFirst($userID);
if (!$user) {
throw new DomainException("User {$userID} not found.");
}
return $user;
public function updateUserPassword(int $userID, string $passwordHash)
$fetchUserCase = new FetchUserCase();
$user = $fetchUserCase->getUser($userID);
$user->setPasswordHash($passwordHash);
if (!$user->update()) {
$messages = $user->getMessages();
foreach ($messages as $message) {
throw new DomainException($message);