summaryrefslogtreecommitdiff
path: root/server/doc/files/core/Identity.php.txt
diff options
context:
space:
mode:
Diffstat (limited to 'server/doc/files/core/Identity.php.txt')
-rw-r--r--server/doc/files/core/Identity.php.txt2379
1 files changed, 2379 insertions, 0 deletions
diff --git a/server/doc/files/core/Identity.php.txt b/server/doc/files/core/Identity.php.txt
new file mode 100644
index 0000000..e7f3728
--- /dev/null
+++ b/server/doc/files/core/Identity.php.txt
@@ -0,0 +1,2379 @@
+<?php
+/**
+* File containing the identity Class.
+*
+*/
+
+/**
+* Import the Error of the Library
+*/
+use OpenCloud\Common\Error;
+
+include("CoreInterface.php");
+/**
+* Identity Class of the back-end application
+*
+* This class implements the management for the identity request
+*
+* @version 1.0 Initialisation of this file
+* @since 1.0 Core application's file
+*
+* @author Eole 'eoledev at outlook . fr'
+*
+*/
+class identity implements Core{
+
+ /** @var App $app protected, contains the main app object */
+ protected $app;
+
+ /** @var OpenStack\Identity $libClass protected, contains the library Identity object */
+ protected $libClass;
+
+ /**
+ * identity constructor
+ *
+ * @param App $app the main app object
+ *
+ * @return identity Object
+ */
+ public function __construct($app){
+
+ $this->app = $app;
+ $this->libClass = $app->getLibClass("Identity");
+
+ }
+
+ /**
+ * Execute an action
+ *
+ * @param String $action name of another function of this class
+ *
+ * @return void
+ */
+ public function action($action){
+
+ $this->{$action.""}();
+
+ }
+ /**
+ * Add a credential for the given user/project.
+ *
+ * Create a secret/access pair for use with ec2 style auth.
+ * This operation will generates a new set of credentials that map the user/project pair.
+ *
+ * @param JsonString $blob Required credentials information with this structure for ec2: "{\"access\":\"181920\",\"secret\":\"secretKey\"}"
+ * @param String $projectId Required project's UUID
+ * @param String $type Required Type of credential : ec2, cert...
+ * @param String $userId Required Id of the user which own the credential
+ *
+ * @return void
+ */
+ private function addCredential(){
+
+ $blob = $this->app->getPostParam("blob");
+ $projectId = $this->app->getPostParam("projectId");
+ $type = $this->app->getPostParam("type");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($blob) || !isset($projectId) || !isset($type) || !isset($userId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ return;
+ }
+
+ try{
+
+ $opt = array('blob' => $blob, 'projectId' => $projectId, 'type' => $type, 'userId' => $userId);
+ $res = $this->libClass->createCredential($opt);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }
+
+ /**
+ * List the credentials for a given user.
+ *
+ * @return void
+ */
+ private function listCredentials(){
+ try{
+
+ $this->libClass->listCredentials()
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }
+
+ /**
+ * Retrieve a user’s access/secret pair by the access key.
+ *
+ * @param String $credentialId Required credential id for which it retrieve the details
+ *
+ * @return void
+ */
+ private function showCredential(){
+ $credentId = $this->app->getPostParam("credentialId");
+
+ if(!isset($credentId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ }
+
+ try{
+
+ $cred = $this->libClass->getCredential($credentId);
+ $cred->retrieve();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }
+
+ /**
+ * Update a user’s access/secret pair.
+ *
+ * @param String $credentialId Required credential id to update
+ * @param JsonString $blob Required credentials information with this structure for ec2: "{\"access\":\"181920\",\"secret\":\"secretKey\"}"
+ * @param String $type Required Type of credential : ec2, cert...
+ *
+ * @return void
+ */
+ private function updateCredential(){
+
+ $credentId = $this->app->getPostParam("credentialId");
+ $blob = $this->app->getPostParam("blob");
+ $type = $this->app->getPostParam("type");
+
+ if(!isset($blob) || !isset($credentId) || !isset($type)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ }
+
+
+ try{
+
+ $credential = $this->libClass->getCredential($credentId);
+
+ $credential->type = $type;
+ $credential->blob = $blob;
+
+ $credential->update();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a user’s access/secret pair.
+ *
+ * @param String $credentialId Required credential id to delete
+ *
+ * @return void
+ */
+ private function deleteCredential(){
+
+ $credentId = $this->app->getPostParam("credentialId");
+
+ if(!isset($credentId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ }
+
+ try{
+
+ $credential = $this->libClass->getCredential($credentId);
+ $credential->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }-
+
+ /**
+ * Add a domain to an OpenStack instance.
+ *
+ * @param String $desc Optional Domain Description
+ * @param String $enabled Optional Domain enabled or not : value true or false
+ * @param String $name Required Domain Name
+ *
+ * @return void
+ */
+ private function addDomain(){
+
+ $description = $this->app->getPostParam("desc");
+ $enabled = $this->app->getPostParam("enabled");
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($name)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ return;
+ }
+
+ if(isset($enabled) && isset($description))
+ $opt = array('description' => $description, 'enabled' => $enabled, 'name' => $name);
+ elseif(isset($enabled))
+ $opt = array('enabled' => $enabled, 'name' => $name);
+ elseif(isset($description))
+ $opt = array('description' => $description, 'name' => $name);
+ else
+ $opt = array('name' => $name);
+
+ try{
+
+ $res = $this->libClass->createCredential($opt);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }
+
+ /**
+ * Retrieve the different domain's list.
+ *
+ * @return void
+ */
+ private function listDomains(){
+
+ try{
+
+ $this->libClass->listDomains()
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+
+ }
+
+ /**
+ * Retrieve the details of a given domain.
+ *
+ * @param String $domainId Required Domain id for which it retrieve the details
+ *
+ * @return void
+ */
+ private function showDomain(){
+
+ $domId = $this->app->getPostParam("domainId");
+
+ if(!isset($domId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+ $domain->retrieve();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Update the given domain.
+ *
+ * @param String $domainId Required domain id to update
+ * @param String $desc Optional Domain Description
+ * @param String $enabled Optional Domain enabled or not : value true or false
+ * @param String $name Required Domain Name
+ *
+ * @return void
+ */
+ private function updateDomain(){
+
+ $domId = $this->app->getPostParam("domainId");
+ $description = $this->app->getPostParam("desc");
+ $enabled = $this->app->getPostParam("enabled");
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($domId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ return;
+ }
+
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ if(isset($name))
+ $domain->name = $name;
+ if(isset($enabled))
+ $domain->enabled = $enabled;
+ if(isset($description))
+ $domain->description = $description;
+
+ $domain->update();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete the given domain.
+ *
+ * @param String $domainId Required Domain id to delete
+ *
+ * @return void
+ */
+ private function deleteDomain(){
+
+ $domId = $this->app->getPostParam("domainId");
+
+ if(!isset($domId)){
+ $this->app->setOutput("Error", "Parameters Incorrect");
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+ $domain->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the different roles of a given user in a domain.
+ *
+ * @return void
+ */
+ private function listRolesDomainUser(){
+
+ $domId = $this->app->getPostParam("domainId");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($domId) || !isset($userId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $domain->listUserRoles(['userId' => $userId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Grant a role to a given user in a domain.
+ *
+ * @return void
+ */
+ private function grantRoleDomainUser(){
+ $domId = $this->app->getPostParam("domainId");
+ $roleId = $this->app->getPostParam("roleId");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($domId) || !isset($roleId) || !isset($userId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $domain->grantUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Verify that a user has a given role in a domain.
+ *
+ * @return void
+ */
+ private function checkRoleDomainUser(){
+ $domId = $this->app->getPostParam("domainId");
+ $roleId = $this->app->getPostParam("roleId");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($domId) || !isset($roleId) || !isset($userId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $result = $domain->checkUserRole(['userId' => $userId, 'roleId' => $roleId]);
+
+ /*if (true === $result) {
+ // It exists!
+ }*/
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a role for a given user in a domain.
+ *
+ * @return void
+ */
+ private function revokeRoleDomainUser(){
+ $domId = $this->app->getPostParam("domainId");
+ $roleId = $this->app->getPostParam("roleId");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($domId) || !isset($roleId) || !isset($userId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $domain->revokeUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the roles of a given group in a domain.
+ *
+ * @return void
+ */
+ private function listRolesDomainGroup(){
+ $domId = $this->app->getPostParam("domainId");
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($domId) || !isset($groupId)){
+
+ }
+
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $domain->listGroupRoles(['groupId' => $groupId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a role to a given group in a domain.
+ *
+ * @return void
+ */
+ private function grantRoleDomainGroup(){
+ $domId = $this->app->getPostParam("domainId");
+ $groupId = $this->app->getPostParam("groupId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($domId) || !isset($groupId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $domain->grantGroupRole([
+ 'groupId' => $groupId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Verify that a role is associated with a given group in a domain.
+ *
+ * @return void
+ */
+ private function checkRoleDomainGroup(){
+ $domId = $this->app->getPostParam("domainId");
+ $groupId = $this->app->getPostParam("groupId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($domId) || !isset($groupId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($domId);
+
+ $result = $domain->checkGroupRole(['groupId' => $groupId, 'roleId' => $roleId]);
+
+ /*if (true === $result) {
+ // It exists!
+ }*/
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a role for a given group in a domain.
+ *
+ * @return void
+ */
+ private function revokeRoleDomainGroup(){
+ $domId = $this->app->getPostParam("domainId");
+ $groupId = $this->app->getPostParam("groupId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($domId) || !isset($groupId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $domain = $this->libClass->getDomain($roleId);
+
+ $domain->revokeGroupRole([
+ 'groupId' => $groupId,
+ 'roleId' => $roleId,
+ ]);
+
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add an endpoint to the Openstack instance
+ *
+ * @return void
+ */
+ private function addEndpoint(){
+ $servId = $this->app->getPostParam("serviceId");
+ $name = $this->app->getPostParam("name");
+ $region = $this->app->getPostParam("region");
+ $url = $this->app->getPostParam("url");
+
+ if(!isset($servId) || !isset($name) || !isset($region) || !isset($url)){
+
+ }
+
+ try{
+
+ $endpoint = $this->libClass->createEndpoint([
+ 'interface' => \OpenStack\Identity\v3\Enum::INTERFACE_INTERNAL,
+ 'name' => $name,
+ 'region' => $region,
+ 'url' => $url,
+ 'serviceId' => $servId
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the endpoint for the given id
+ *
+ * @return void
+ */
+ private function getEndpoint(){
+
+ $endId = $this->app->getPostParam("endpointId");
+
+ if(!isset($endId)){
+
+ }
+
+ try{
+
+ $endpoint = $this->libClass->getEndpoint($endId);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the list of the different endpoints
+ *
+ * @return void
+ */
+ private function listEndpoints(){
+
+ try{
+
+ $res = $this->libClass->listEndpoints();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Update a given endpoint
+ *
+ * @return void
+ */
+ private function updateEndpoint(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * Delete a given endpoint
+ *
+ * @return void
+ */
+ private function deleteEndpoint(){
+ $endId = $this->app->getPostParam("endpointId");
+
+ if(!isset($endId)){
+
+ }
+
+ try{
+
+ $endpoint = $this->libClass->getEndpoint($endId);
+ $endpoint->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a group.
+ *
+ * @return void
+ */
+ private function addGroup(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * Retrieve the group's list.
+ *
+ * @return void
+ */
+ private function listGroups(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * Retrieve the details of a given group.
+ *
+ * @return void
+ */
+ private function showGroup(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * Update a given group.
+ *
+ * @return void
+ */
+ private function updateGroup(){
+ //Todo Argument Optional
+ $groupId = $this->app->getPostParam("groupId");
+ $description = $this->app->getPostParam("description");
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ if(isset($description))
+ $group->description = 'foo';
+ if(isset($name))
+ $group->name = 'bar';
+
+ $group->update();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete the given group.
+ *
+ * @return void
+ */
+ private function deleteGroup(){
+
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ $group->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the users of a given group.
+ *
+ * @return void
+ */
+ private function listGroupUsers(){
+
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ $users = $group->listUsers();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a user to a group.
+ *
+ * @return void
+ */
+ private function addGroupUser(){
+
+ $userId = $this->app->getPostParam("userId");
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($userId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ $group->addUser(['userId' => $userId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Remove a user from a given group.
+ *
+ * @return void
+ */
+ private function removeGroupUser(){
+
+ $userId = $this->app->getPostParam("userId");
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($userId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ $group->removeUser(['userId' => $userId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Check if a group contains a given user.
+ *
+ * @return void
+ */
+ private function checkGroupUser(){
+
+ $userId = $this->app->getPostParam("userId");
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($userId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $group = $this->libClass->getGroup($groupId);
+
+ $result = $group->checkMembership(['userId' => $userId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * @todo
+ *
+ * @return void
+ */
+ private function addPolicies(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * @todo
+ *
+ * @return void
+ */
+ private function listPolicies(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * @todo
+ *
+ * @return void
+ */
+ private function showPolicie(){
+ //Not Implemented Yet
+
+ }
+
+ /**
+ * @todo
+ *
+ * @return void
+ */
+ private function updatePolicies(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * @todo
+ *
+ * @return void
+ */
+ private function deletePolicies(){
+ //Not Implemented Yet
+ }
+
+ /**
+ * Add a project.
+ *
+ * @return void
+ */
+ private function addProject(){
+ //Todo Parameters Optional
+ $description = $this->app->getPostParam("description");
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($name) || !isset($description)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->createProject([
+ 'description' => $description,
+ 'enabled' => true,
+ 'name' => $name
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the different projects.
+ *
+ * @return void
+ */
+ private function listProjects(){
+
+ try{
+
+ $projects = $this->libClass->listProjects();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the details of a given project.
+ *
+ * @return void
+ */
+ private function showProject(){
+
+ $projId = $this->app->getPostParam("projetId");
+
+ if(!isset($projId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+ $project->retrieve();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Update a given project.
+ *
+ * @return void
+ */
+ private function updateProject(){
+ //Todo Parameters Optionnal
+ $description = $this->app->getPostParam("description");
+ $name = $this->app->getPostParam("name");
+ $projId = $this->app->getPostParam("projetId");
+
+ if(!isset($projId) || !isset($name) || !isset($description)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->enabled = false;
+ $project->description = $description;
+ $project->name = $name;
+
+ $project->update();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a given project.
+ *
+ * @return void
+ */
+ private function deleteProject(){
+ $projId = $this->app->getPostParam("projId");
+
+ if(!isset($projId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * List the roles of a given user in a project.
+ *
+ * @return void
+ */
+ private function listRolesProjectUser(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($projId) || !isset($userId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->listUserRoles(['userId' => $userId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Grant a role to an user in a project.
+ *
+ * @return void
+ */
+ private function grantRoleProjectUser(){
+
+ $projId = $this->app->getPostParam("projId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->grantUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Check if a given user has a role in a project.
+ *
+ * @return void
+ */
+ private function checkRoleProjectUser(){
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $result = $project->checkUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ /*if (true === $result) {
+ }*/
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a role for a given user in a project.
+ *
+ * @return void
+ */
+ private function revokeRoleProjectUser(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->revokeUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * List the roles of a group in a project.
+ *
+ * @return void
+ */
+ private function listRolesProjectGroup(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $groupId = $this->app->getPostParam("groupId");
+
+
+ if(!isset($projId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->listGroupRoles(['groupId' => $groupId]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a role to a group in a project.
+ *
+ * @return void
+ */
+ private function grantRoleProjectGroup(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->grantUserRole([
+ 'userId' => $userId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Check if a group has a given role in a project.
+ *
+ * @return void
+ */
+ private function checkRoleProjectGroup(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $result = $project->checkGroupRole([
+ 'groupId' => $groupId,
+ 'roleId' => $roleId,
+ ]);
+
+ /*if (true === $result) {
+ }*/
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a role for a group in a project.
+ *
+ * @return void
+ */
+ private function revokeRoleProjectGroup(){
+
+ $projId = $this->app->getPostParam("projetId");
+ $userId = $this->app->getPostParam("userId");
+ $roleId = $this->app->getPostParam("roleId");
+
+ if(!isset($projId) || !isset($userId) || !isset($roleId)){
+
+ }
+
+ try{
+
+ $project = $this->libClass->getProject($projId);
+
+ $project->revokeGroupRole([
+ 'groupId' => $groupId,
+ 'roleId' => $roleId,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a role.
+ *
+ * @return void
+ */
+ private function addRole(){
+
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($name)){
+
+ }
+
+ try{
+
+ $role = $this->libClass->createRole([
+ 'name' => $name,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * List the different roles
+ *
+ * @return void
+ */
+ private function listRoles(){
+
+ try{
+
+ $roles = $this->libClass->listRoles();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * List the different assignments for a given role
+ *
+ * @return void
+ */
+ private function listRoleAssignements(){
+
+ try{
+
+ $assignements = $this->libClass->listRoleAssignments();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a service.
+ *
+ * @return void
+ */
+ private function addService(){
+ $name = $this->app->getPostParam("name");
+ $type = $this->app->getPostParam("type");
+
+ if(!isset($name) || !isset($type)){
+
+ }
+
+ try{
+
+ $service = $this->libClass->createService([
+ 'name' => $name,
+ 'type' => $type,
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the different services.
+ *
+ * @return void
+ */
+ private function listServices(){
+
+ try{
+
+ $services = $this->libClass->listServices();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the details for a given service.
+ *
+ * @return void
+ */
+ private function showService(){
+ $servId = $this->app->getPostParam("serviceId");
+
+ if(!isset($servId)){
+
+ }
+
+ try{
+
+ $service = $this->libClass->getService($servId);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a given service.
+ *
+ * @return void
+ */
+ private function deleteService(){
+
+ $servId = $this->app->getPostParam("serviceId");
+ $groupId = $this->app->getPostParam("groupId");
+
+ if(!isset($servId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $service = $this->libClass->getService($servId);
+ $service->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Generate a new token for a given user id.
+ *
+ * @return void
+ */
+ private function genTokenUserID(){
+
+ $userId = $this->app->getPostParam("userId");
+ $userPass = $this->app->getPostParam("userPassword");
+
+ if(!isset($userId) || !isset($userPass)){
+
+ }
+
+ try{
+
+ $token = $this->libClass->generateToken([
+ 'user' => [
+ 'id' => $userId,
+ 'password' => $userPass
+ ]
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Generate a new token for a given user name.
+ *
+ * @return void
+ */
+ private function genTokenUserName(){
+ $username = $this->app->getPostParam("username");
+ $userPass = $this->app->getPostParam("userPassword");
+ $domId = $this->app->getPostParam("domainId");
+
+
+ if(!isset($userId) || !isset($userPass) || !isset($domId)){
+
+ }
+
+ try{
+
+ $token = $this->libClass->generateToken([
+ 'user' => [
+ 'name' => $username,
+ 'password' => $userPass,
+ 'domain' => [
+ 'id' => $domId
+ ]
+ ]
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Generate a new token from another token ID.
+ *
+ * @return void
+ */
+ private function genTokenID(){
+
+ $tokenId = $this->app->getPostParam("tokenId");
+ $projectId = $this->app->getPostParam("projectId");
+
+ if(!isset($tokenId) || !isset($projectId)){
+
+ }
+
+ try{
+
+ $token = $this->libClass->generateToken([
+ 'tokenId' => $tokenId,
+ 'scope' => ['project' => ['id' => $projectId]]
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Generate a new token scoped by a project ID.
+ *
+ * @return void
+ */
+ private function genTokenScopedProjectID(){
+
+ $userId = $this->app->getPostParam("userId");
+ $userPass = $this->app->getPostParam("userPass");
+ $projId = $this->app->getPostParam("projetId");
+
+ if(!isset($userId) || !isset($projId) || !isset($userPass)){
+
+ }
+
+ try{
+
+ $token = $this->libClass->generateToken([
+ 'user' => [
+ 'id' => $userId,
+ 'password' => $userPass
+ ],
+ 'scope' => [
+ 'project' => ['id' => $projId]
+ ]
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Generate a new token scoped by a project name.
+ *
+ * @return void
+ */
+ private function genTokenScopedProjectName(){
+
+ $userId = $this->app->getPostParam("userId");
+ $userPass = $this->app->getPostParam("userPass");
+ $projName = $this->app->getPostParam("projetName");
+ $domId = $this->app->getPostParam("domId");
+
+ if(!isset($userId) || !isset($projName) || !isset($userPass) || !isset($domId)){
+
+ }
+
+ try{
+
+ $token = $this->libClass->generateToken([
+ 'user' => [
+ 'id' => $userId,
+ 'password' => $userPass
+ ],
+ 'scope' => [
+ 'project' => [
+ 'name' => $projName,
+ 'domain' => [
+ 'id' => $domId
+ ]
+ ]
+ ]
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Check if a token is validate.
+ *
+ * @return void
+ */
+ private function validateToken(){
+
+ $tokenId = $this->app->getPostParam("tokenId");
+
+ if(!isset($tokenId)){
+
+ }
+
+ try{
+
+ $result = $this->libClass->validateToken($tokenId);
+
+ /*if (true === $result) {
+ // It's valid!
+ }*/
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a given token.
+ *
+ * @return void
+ */
+ private function revokeToken(){
+
+ $tokenId = $this->app->getPostParam("tokenId");
+
+ if(!isset($tokenId)){
+
+ }
+
+ try{
+
+ $this->libClass->revokeToken($tokenId);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Add a new user.
+ *
+ * @return void
+ */
+ private function addUser(){
+ //Todo Optionnal Parameter
+ $projId = $this->app->getPostParam("projId");
+ $desc = $this->app->getPostParam("description");
+ $email = $this->app->getPostParam("email");
+ $name = $this->app->getPostParam("name");
+ $pass = $this->app->getPostParam("pass");
+ $domId = $this->app->getPostParam("domId");
+
+ if(!isset($domId) || !isset($groupId)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->createUser([
+ 'defaultProjectId' => $projId,
+ 'description' => $desc,
+ 'domainId' => $domId,
+ 'email' => $email,
+ 'enabled' => true,
+ 'name' => $name,
+ 'password' => $pass
+ ]);
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the different users.
+ *
+ * @return void
+ */
+ private function listUsers(){
+
+ try{
+
+ $users = $this->libClass->listUsers();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the details of a given user.
+ *
+ * @return void
+ */
+ private function showUser(){
+
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($userId)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->getUser($userId);
+ $user->retrieve();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Update a given user.
+ *
+ * @return void
+ */
+ private function updateUser(){
+
+ $userId = $this->app->getPostParam("userId");
+ $desc = $this->app->getPostParam("description");
+ $name = $this->app->getPostParam("name");
+
+ if(!isset($userId) || !isset($desc) || !isset($name)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->getUser($userId);
+
+ $user->description = $desc;
+ $user->name = $name;
+
+ $user->update();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Delete a given user.
+ *
+ * @return void
+ */
+ private function deleteUser(){
+
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($userId)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->getUser($userId);
+ $user->delete();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the groups which contains a given user.
+ *
+ * @return void
+ */
+ private function listUserGroups(){
+
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($userId)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->getUser($userId);
+
+ $groups = $user->listGroups();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+
+ /**
+ * Retrieve the projects which contains a given user.
+ *
+ * @return void
+ */
+ private function listUserProjects(){
+
+ $userId = $this->app->getPostParam("userId");
+
+ if(!isset($userId)){
+
+ }
+
+ try{
+
+ $user = $this->libClass->getUser($userId);
+
+ $projects = $user->listProjects();
+
+ //TODO parse answer
+
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance()->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance()->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance()->NotImplementedHandler($e);
+ }catch(Exception $e){
+ $this->app->getErrorInstance()->OtherException($e);
+ }
+ }
+}
+