2022-04-09 10:01:42 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Joomla! Content Management System
|
|
|
|
*
|
|
|
|
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
|
|
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
|
|
*/
|
|
|
|
|
2022-04-12 19:41:51 +00:00
|
|
|
namespace Octoleo\CMS\User;
|
2022-04-09 10:01:42 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Interface defining a factory which can create User objects
|
|
|
|
*
|
2022-04-12 19:41:51 +00:00
|
|
|
* @since 1.0.0
|
2022-04-09 10:01:42 +00:00
|
|
|
*/
|
|
|
|
interface UserFactoryInterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Method to get an instance of a user for the given id.
|
|
|
|
*
|
|
|
|
* @param int $id The id
|
|
|
|
*
|
|
|
|
* @return User
|
|
|
|
*
|
2022-04-12 19:41:51 +00:00
|
|
|
* @since 1.0.0
|
2022-04-09 10:01:42 +00:00
|
|
|
*/
|
|
|
|
public function loadUserById(int $id): User;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Method to get an instance of a user for the given username.
|
|
|
|
*
|
|
|
|
* @param string $username The username
|
|
|
|
*
|
|
|
|
* @return User
|
|
|
|
*
|
2022-04-12 19:41:51 +00:00
|
|
|
* @since 1.0.0
|
2022-04-09 10:01:42 +00:00
|
|
|
*/
|
|
|
|
public function loadUserByUsername(string $username): User;
|
2022-04-12 19:41:51 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Attempt to authenticate the username and password pair.
|
|
|
|
*
|
|
|
|
* @return string|boolean A string containing a username if authentication is successful, false otherwise.
|
|
|
|
*
|
|
|
|
* @since 1.1.0
|
|
|
|
*/
|
|
|
|
public function authenticate();
|
2022-04-09 10:01:42 +00:00
|
|
|
}
|