. */ namespace SP\Domain\User; use Defuse\Crypto\Exception\EnvironmentIsBrokenException; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\Domain\Common\Services\ServiceException; /** * Class UserPassRecoverService * * @package SP\Domain\Common\Services\UserPassRecover */ interface UserPassRecoverServiceInterface { /** * @throws \SP\Core\Exceptions\SPException * @throws \SP\Domain\Common\Services\ServiceException */ public function toggleUsedByHash(string $hash): void; /** * @throws ConstraintException * @throws QueryException * @throws ServiceException * @throws EnvironmentIsBrokenException */ public function requestForUserId(int $id): string; /** * Comprobar el límite de recuperaciones de clave. * * @throws ConstraintException * @throws QueryException */ public function checkAttemptsByUserId(int $userId): bool; /** * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ public function add(int $userId, string $hash): bool; /** * Comprobar el hash de recuperación de clave. * * @throws \SP\Domain\Common\Services\ServiceException * @throws ConstraintException * @throws QueryException */ public function getUserIdForHash(string $hash): int; }