GUACAMOLE-5: Add sharing profile attributes to schema resource.

This commit is contained in:
Michael Jumper
2016-08-07 19:22:17 -07:00
parent 989ad39513
commit 7a0dd884f3
2 changed files with 54 additions and 0 deletions

View File

@@ -99,6 +99,26 @@ public class SchemaResource {
}
/**
* Retrieves the possible attributes of a sharing profile object.
*
* @return
* A collection of forms which describe the possible attributes of a
* sharing profile object.
*
* @throws GuacamoleException
* If an error occurs while retrieving the possible attributes.
*/
@GET
@Path("sharingProfileAttributes")
public Collection<Form> getSharingProfileAttributes()
throws GuacamoleException {
// Retrieve all possible sharing profile attributes
return userContext.getSharingProfileAttributes();
}
/**
* Retrieves the possible attributes of a connection group object.
*

View File

@@ -98,6 +98,40 @@ angular.module('rest').factory('schemaService', ['$injector',
};
/**
* Makes a request to the REST API to get the list of available attributes
* for sharing profile objects, returning a promise that provides an array
* of @link{Form} objects if successful. Each element of the array describes
* a logical grouping of possible attributes.
*
* @param {String} dataSource
* The unique identifier of the data source containing the sharing
* profiles whose available attributes are to be retrieved. This
* identifier corresponds to an AuthenticationProvider within the
* Guacamole web application.
*
* @returns {Promise.<Form[]>}
* A promise which will resolve with an array of @link{Form}
* objects, where each @link{Form} describes a logical grouping of
* possible attributes.
*/
service.getSharingProfileAttributes = function getSharingProfileAttributes(dataSource) {
// Build HTTP parameters set
var httpParameters = {
token : authenticationService.getCurrentToken()
};
// Retrieve available sharing profile attributes
return $http({
cache : cacheService.schema,
method : 'GET',
url : 'api/session/data/' + encodeURIComponent(dataSource) + '/schema/sharingProfileAttributes',
params : httpParameters
});
};
/**
* Makes a request to the REST API to get the list of available attributes
* for connection group objects, returning a promise that provides an array