nextcloud/lib/public/iusermanager.php
Lukas Reschke 38fec9b095 Can also be null
If the user does not exist this returns null and can lead to nasty bugs since the IDE is not indicating this...
2015-03-13 14:01:24 +01:00

111 lines
2.4 KiB
PHP

<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace OCP;
/**
* Class Manager
*
* Hooks available in scope \OC\User:
* - preSetPassword(\OC\User\User $user, string $password, string $recoverPassword)
* - postSetPassword(\OC\User\User $user, string $password, string $recoverPassword)
* - preDelete(\OC\User\User $user)
* - postDelete(\OC\User\User $user)
* - preCreateUser(string $uid, string $password)
* - postCreateUser(\OC\User\User $user, string $password)
*
* @package OC\User
*/
interface IUserManager {
/**
* register a user backend
*
* @param \OCP\UserInterface $backend
*/
public function registerBackend($backend);
/**
* Get the active backends
* @return \OCP\UserInterface[]
*/
public function getBackends();
/**
* remove a user backend
*
* @param \OCP\UserInterface $backend
*/
public function removeBackend($backend);
/**
* remove all user backends
*/
public function clearBackends() ;
/**
* get a user by user id
*
* @param string $uid
* @return \OCP\IUser|null Either the user or null if the specified user does not exist
*/
public function get($uid);
/**
* check if a user exists
*
* @param string $uid
* @return bool
*/
public function userExists($uid);
/**
* Check if the password is valid for the user
*
* @param string $loginname
* @param string $password
* @return mixed the User object on success, false otherwise
*/
public function checkPassword($loginname, $password);
/**
* search by user id
*
* @param string $pattern
* @param int $limit
* @param int $offset
* @return \OCP\IUser[]
*/
public function search($pattern, $limit = null, $offset = null);
/**
* search by displayName
*
* @param string $pattern
* @param int $limit
* @param int $offset
* @return \OCP\IUser[]
*/
public function searchDisplayName($pattern, $limit = null, $offset = null);
/**
* @param string $uid
* @param string $password
* @throws \Exception
* @return bool|\OCP\IUser the created user of false
*/
public function createUser($uid, $password);
/**
* returns how many users per backend exist (if supported by backend)
*
* @return array an array of backend class as key and count number as value
*/
public function countUsers();
}