Repository: airavata Updated Branches: refs/heads/grouper-integration [created] 70f857953
http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/thrift-interface-descriptions/airavata-apis/airavata_api.thrift ---------------------------------------------------------------------- diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift index 5dad27e..4efd940 100644 --- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift +++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift @@ -41,6 +41,7 @@ include "../data-models/resource-catalog-models/gateway_resource_profile_model.t include "../data-models/resource-catalog-models/data_movement_models.thrift" include "../data-models/workflow-models/workflow_data_model.thrift" include "../data-models/replica-catalog-models/replica_catalog_models.thrift" +include "../data-models/user-group-models/group_manager_model.thrift" namespace java org.apache.airavata.api namespace php Airavata.API @@ -2871,6 +2872,31 @@ service Airavata { 2: airavata_errors.AiravataClientException ace, 3: airavata_errors.AiravataSystemException ase, 4: airavata_errors.AuthorizationException ae) + + /** + * Group Manager and Data Sharing Related API methods + **/ + bool shareResourceWithUsers(1: required security_model.AuthzToken authzToken, 2: required string resourceId, 3: required group_manager_model.ResourceType resourceType, + 4: map<string, group_manager_model.ResourcePermissionType> userPermissionList) + throws (1: airavata_errors.InvalidRequestException ire, + 2: airavata_errors.AiravataClientException ace, + 3: airavata_errors.AiravataSystemException ase, + 4: airavata_errors.AuthorizationException ae) + + bool revokeSharingOfResourceFromUsers(1: required security_model.AuthzToken authzToken, 2: required string resourceId, 3: required group_manager_model.ResourceType resourceType, + 4: map<string, group_manager_model.ResourcePermissionType> userPermissionList) + throws (1: airavata_errors.InvalidRequestException ire, + 2: airavata_errors.AiravataClientException ace, + 3: airavata_errors.AiravataSystemException ase, + 4: airavata_errors.AuthorizationException ae) + + list<string> getAllAccessibleUsers(1: required security_model.AuthzToken authzToken, 2: required string resourceId, 3: required group_manager_model.ResourceType resourceType, + 4: required group_manager_model.ResourcePermissionType permissionType) + throws (1: airavata_errors.InvalidRequestException ire, + 2: airavata_errors.AiravataClientException ace, + 3: airavata_errors.AiravataSystemException ase, + 4: airavata_errors.AuthorizationException ae) + //End of API } http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/thrift-interface-descriptions/data-models/airavata_data_models.thrift ---------------------------------------------------------------------- diff --git a/thrift-interface-descriptions/data-models/airavata_data_models.thrift b/thrift-interface-descriptions/data-models/airavata_data_models.thrift index 6eae503..b67614f 100644 --- a/thrift-interface-descriptions/data-models/airavata_data_models.thrift +++ b/thrift-interface-descriptions/data-models/airavata_data_models.thrift @@ -32,6 +32,7 @@ include "experiment-catalog-models/status_models.thrift" include "resource-catalog-models/data_movement_models.thrift" include "replica-catalog-models/replica_catalog_models.thrift" include "user-group-models/user_profile_model.thrift" +include "user-group-models/group_manager_model.thrift" namespace java org.apache.airavata.model namespace php Airavata.Model http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/thrift-interface-descriptions/data-models/experiment-catalog-models/workspace_model.thrift ---------------------------------------------------------------------- diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/workspace_model.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/workspace_model.thrift index f2532dd..e214d39 100644 --- a/thrift-interface-descriptions/data-models/experiment-catalog-models/workspace_model.thrift +++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/workspace_model.thrift @@ -43,16 +43,21 @@ struct Group { struct Project { 1: required string projectID = airavata_commons.DEFAULT_ID, 2: required string owner, - 3: required string name, - 4: optional string description - 5: optional i64 creationTime - 6: optional list<string> sharedUsers, - 7: optional list<string> sharedGroups + 3: required string gatewayId, + 4: required string name, + 5: optional string description + 6: optional i64 creationTime + 7: optional list<string> sharedUsers, + 8: optional list<string> sharedGroups } struct User { - 1: required string userName, - 2: optional list<Group> groupList + 1: required string airavataInternalUserId = airavata_commons.DEFAULT_ID, + 2: optional string userName, + 3: required string gatewayId, + 4: optional string firstName, + 5: optional string lastName, + 6: optional string email } struct Gateway { http://git-wip-us.apache.org/repos/asf/airavata/blob/70f85795/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift ---------------------------------------------------------------------- diff --git a/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift b/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift index 9a82c60..547020e 100644 --- a/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift +++ b/thrift-interface-descriptions/data-models/user-group-models/group_manager_model.thrift @@ -25,8 +25,6 @@ namespace cpp apache.airavata.model.group namespace py apache.airavata.model.group -const string GROUP_MANAGER_VERSION = "1.0" - enum ResourceType { PROJECT, @@ -36,53 +34,6 @@ enum ResourceType { } enum ResourcePermissionType { - READ_WRITE, - READ_ONLY -} - -struct Resource { - 1: required string resourceId = airavata_commons.DEFAULT_ID, - 2: required string resourceName, - 3: required ResourceType resourceType, - 4: required string ownerId, - 5: optional string resourceDescription, - 6: optional i64 createdTime, - 8: optional string parentResourceId, - 9: optional list<Resource> childResources, - 10: optional map<string,string> metadata -} - -struct Group{ - 1: required string groupId = airavata_commons.DEFAULT_ID, - 2: required string groupId, - 3: required string groupName, - 4: optional string description, - 5: optional list<User> users, - 6: optional list<Group> subGroups, - 7: optional map<string,string> metadata -} - -struct User { - 1: required string airavataInternalUserId, - 2: required string userId, - 3: optional map<string,string> metadata -} - -enum SubjectType { - USER, - GROUP -} - -enum GroupMembershipType { - DIRECT, - INDIRECT -} - -struct GroupMembership{ - 1: required string groupId, - 2: required string childId, - 3: required SubjectType childSubjectType, - 4: required string parentSubjectName, - 5: required string childSubjectName, - 6: required GroupMembershipType groupMembershipType + WRITE, + READ } \ No newline at end of file
