231 lines
4.5 KiB
PHP
231 lines
4.5 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the FOSUserBundle package.
|
|
*
|
|
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace FOS\UserBundle\Model;
|
|
|
|
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
|
|
|
|
/**
|
|
* @author Thibault Duplessis <thibault.duplessis@gmail.com>
|
|
* @author Johannes M. Schmitt <schmittjoh@gmail.com>
|
|
*/
|
|
interface UserInterface extends AdvancedUserInterface, \Serializable
|
|
{
|
|
const ROLE_DEFAULT = 'ROLE_USER';
|
|
|
|
const ROLE_SUPER_ADMIN = 'ROLE_SUPER_ADMIN';
|
|
|
|
/**
|
|
* Returns the user unique id.
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function getId();
|
|
|
|
/**
|
|
* Sets the username.
|
|
*
|
|
* @param string $username
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setUsername($username);
|
|
|
|
/**
|
|
* Gets the canonical username in search and sort queries.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getUsernameCanonical();
|
|
|
|
/**
|
|
* Sets the canonical username.
|
|
*
|
|
* @param string $usernameCanonical
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setUsernameCanonical($usernameCanonical);
|
|
|
|
/**
|
|
* @param string|null $salt
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setSalt($salt);
|
|
|
|
/**
|
|
* Gets email.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getEmail();
|
|
|
|
/**
|
|
* Sets the email.
|
|
*
|
|
* @param string $email
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setEmail($email);
|
|
|
|
/**
|
|
* Gets the canonical email in search and sort queries.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getEmailCanonical();
|
|
|
|
/**
|
|
* Sets the canonical email.
|
|
*
|
|
* @param string $emailCanonical
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setEmailCanonical($emailCanonical);
|
|
|
|
/**
|
|
* Gets the plain password.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getPlainPassword();
|
|
|
|
/**
|
|
* Sets the plain password.
|
|
*
|
|
* @param string $password
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setPlainPassword($password);
|
|
|
|
/**
|
|
* Sets the hashed password.
|
|
*
|
|
* @param string $password
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setPassword($password);
|
|
|
|
/**
|
|
* Tells if the the given user has the super admin role.
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function isSuperAdmin();
|
|
|
|
/**
|
|
* @param bool $boolean
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setEnabled($boolean);
|
|
|
|
/**
|
|
* Sets the super admin status.
|
|
*
|
|
* @param bool $boolean
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setSuperAdmin($boolean);
|
|
|
|
/**
|
|
* Gets the confirmation token.
|
|
*
|
|
* @return string|null
|
|
*/
|
|
public function getConfirmationToken();
|
|
|
|
/**
|
|
* Sets the confirmation token.
|
|
*
|
|
* @param string|null $confirmationToken
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setConfirmationToken($confirmationToken);
|
|
|
|
/**
|
|
* Sets the timestamp that the user requested a password reset.
|
|
*
|
|
* @param null|\DateTime $date
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setPasswordRequestedAt(\DateTime $date = null);
|
|
|
|
/**
|
|
* Checks whether the password reset request has expired.
|
|
*
|
|
* @param int $ttl Requests older than this many seconds will be considered expired
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function isPasswordRequestNonExpired($ttl);
|
|
|
|
/**
|
|
* Sets the last login time.
|
|
*
|
|
* @param \DateTime|null $time
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setLastLogin(\DateTime $time = null);
|
|
|
|
/**
|
|
* Never use this to check if this user has access to anything!
|
|
*
|
|
* Use the AuthorizationChecker, or an implementation of AccessDecisionManager
|
|
* instead, e.g.
|
|
*
|
|
* $authorizationChecker->isGranted('ROLE_USER');
|
|
*
|
|
* @param string $role
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function hasRole($role);
|
|
|
|
/**
|
|
* Sets the roles of the user.
|
|
*
|
|
* This overwrites any previous roles.
|
|
*
|
|
* @param array $roles
|
|
*
|
|
* @return static
|
|
*/
|
|
public function setRoles(array $roles);
|
|
|
|
/**
|
|
* Adds a role to the user.
|
|
*
|
|
* @param string $role
|
|
*
|
|
* @return static
|
|
*/
|
|
public function addRole($role);
|
|
|
|
/**
|
|
* Removes a role to the user.
|
|
*
|
|
* @param string $role
|
|
*
|
|
* @return static
|
|
*/
|
|
public function removeRole($role);
|
|
}
|