blob: 634bc5640ca1d32ddade4d889d2d7b24a26a28c9 [file] [log] [blame]
<?php
namespace Wsis\Stubs;
use Wsis\Stubs\TenantMgtAdminStub;
/**
* TenantManager class
*
* This class provide an easy to use interface for
* WSO2 IS 5.0.0 TenantMgtAdmin service.
*/
class TenantManager {
/**
* @var TenantMgtAdminStub $serviceStub
* @access private
*/
private $serviceStub;
public function __construct($server_url, $options) {
$this->serviceStub = new TenantMgtAdminStub(
$server_url . "services/TenantMgtAdminService?wsdl", $options
);
}
/**
* Function to get the soap client
*
* @return SoapClient
*/
public function getSoapClient(){
return $this->serviceStub;
}
/**
* Method to retrieve all tenant information. Some tenant information
* such as admin name are not returned by wso2 IS
* @return mixed
*/
public function retrieveTenants(){
$parameters = new retrieveTenants();
return $this->serviceStub->retrieveTenants($parameters)->return;
}
/**
* Method to get tenant information giving tenant domain
* @param $domain domain of the tenant
* @return mixed
*/
public function getTenant($domain){
$parameters = new getTenant();
$parameters->tenantDomain = $domain;
return $this->serviceStub->getTenant($parameters)->return;
}
/**
* Method to create a new tenant
* @param $active whether tenant active or not
* @param $adminUsername
* @param $adminPassword
* @param $email
* @param $firstName Admin's first name
* @param $lastName Admin's last name
* @param $tenantDomain
*/
public function addTenant($active, $adminUsername, $adminPassword, $email,
$firstName, $lastName, $tenantDomain){
$tenantInfoBean = new TenantInfoBean();
$tenantInfoBean->active = $active;
$tenantInfoBean->admin = $adminUsername;
$tenantInfoBean->adminPassword = $adminPassword;
$tenantInfoBean->email = $email;
$tenantInfoBean->firstname = $firstName;
$tenantInfoBean->lastname = $lastName;
$tenantInfoBean->tenantDomain = $tenantDomain;
$addTenant = new addTenant();
$addTenant->tenantInfoBean = $tenantInfoBean;
return $this->serviceStub->addTenant($addTenant);
}
/**
* Method to remove an existing tenant giving tenant domain
* @param $tenantDomain
*/
public function deleteTenant($tenantDomain){
$parameters = new deleteTenant();
$parameters->tenantDomain = $tenantDomain;
$this->serviceStub->deleteTenant($parameters);
}
/**
* Method to activate a tenant
* @param $tenantDomain
*/
public function activateTenant($tenantDomain){
$parameters = new activateTenant();
$parameters->tenantDomain = $tenantDomain;
$this->serviceStub->activateTenant($parameters);
}
/**
* Method to deactivate a tenant
* @param $tenantDomain
*/
public function deactivateTenant($tenantDomain){
$parameters = new deactivateTenant();
$parameters->tenantDomain = $tenantDomain;
$this->serviceStub->deactivateTenant($parameters);
}
/**
* Method to update an existing tenant
* @param $tenantId
* @param $active
* @param $adminUsername
* @param $adminPassword
* @param $email
* @param $firstName
* @param $lastName
* @param $tenantDomain
*/
public function updateTenant($tenantId, $active, $adminUsername, $adminPassword, $email,
$firstName, $lastName, $tenantDomain){
$tenantInfoBean = new TenantInfoBean();
$tenantInfoBean->tenantId = $tenantId;
$tenantInfoBean->active = $active;
$tenantInfoBean->admin = $adminUsername;
$tenantInfoBean->adminPassword = $adminPassword;
$tenantInfoBean->email = $email;
$tenantInfoBean->firstName = $firstName;
$tenantInfoBean->lastName = $lastName;
$tenantInfoBean->tenantDomain = $tenantDomain;
$updateTenant = new updateTenant();
$updateTenant->tenantInfoBean = $tenantInfoBean;
$this->serviceStub->updateTenant($updateTenant);
}
}