Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Open Subsurface Data Universe Software
Platform
Security and Compliance
entitlements
Commits
6a02999e
Commit
6a02999e
authored
Jun 17, 2021
by
Rostislav Vatolin [SLB]
☕
Browse files
Merge branch 'add_get_member_for_rem' into 'master'
Error removing member from group See merge request
!82
parents
c5b25ea7
1d9d556e
Pipeline
#46786
passed with stages
in 15 minutes and 31 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
entitlements-v2-core/src/main/java/org/opengroup/osdu/entitlements/v2/service/RemoveMemberService.java
View file @
6a02999e
...
...
@@ -42,7 +42,7 @@ public class RemoveMemberService {
!
removeMemberServiceDto
.
getRequesterId
().
equalsIgnoreCase
(
serviceAccountId
))
{
throw
new
AppException
(
HttpStatus
.
UNAUTHORIZED
.
value
(),
HttpStatus
.
UNAUTHORIZED
.
getReasonPhrase
(),
"Not authorized to manage members"
);
}
EntityNode
memberNode
=
g
et
EntityNode
(
memberEmail
,
partitionId
);
EntityNode
memberNode
=
r
et
rieveGroupRepo
.
getMemberNodeForRemovalFromGroup
(
memberEmail
,
partitionId
);
removeMemberServiceDto
.
setChildrenReference
(
memberNode
.
getDirectChildReference
(
retrieveGroupRepo
,
existingGroupEntityNode
).
orElseThrow
(
()
->
new
AppException
(
HttpStatus
.
NOT_FOUND
.
value
(),
HttpStatus
.
NOT_FOUND
.
getReasonPhrase
(),
String
.
format
(
"Group %s does not have %s as a child/member"
,
groupEmail
,
memberEmail
))
));
...
...
@@ -67,12 +67,4 @@ public class RemoveMemberService {
groupCacheService
.
refreshListGroupCache
(
impactedUsers
,
removeMemberServiceDto
.
getPartitionId
());
return
impactedUsers
;
}
private
EntityNode
getEntityNode
(
String
id
,
String
partitionId
)
{
return
retrieveGroupRepo
.
getEntityNode
(
id
,
partitionId
)
.
orElseThrow
(()
->
new
AppException
(
HttpStatus
.
NOT_FOUND
.
value
(),
HttpStatus
.
NOT_FOUND
.
getReasonPhrase
(),
String
.
format
(
"Not found entity node by email: %s and partitionId: %s"
,
id
,
partitionId
)));
}
}
entitlements-v2-core/src/main/java/org/opengroup/osdu/entitlements/v2/spi/retrievegroup/RetrieveGroupRepo.java
View file @
6a02999e
...
...
@@ -16,6 +16,8 @@ public interface RetrieveGroupRepo {
Optional
<
EntityNode
>
getEntityNode
(
String
entityEmail
,
String
partitionId
);
EntityNode
getMemberNodeForRemovalFromGroup
(
String
memberId
,
String
partitionId
);
Set
<
EntityNode
>
getEntityNodes
(
String
partitionId
,
List
<
String
>
nodeIds
);
Map
<
String
,
Set
<
String
>>
getUserPartitionAssociations
(
Set
<
String
>
userIds
);
...
...
entitlements-v2-core/src/test/java/org/opengroup/osdu/entitlements/v2/service/RemoveMemberServiceTests.java
View file @
6a02999e
...
...
@@ -77,7 +77,7 @@ public class RemoveMemberServiceTests {
.
name
(
"member"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"data.x@common.contoso.com"
)
...
...
@@ -128,7 +128,7 @@ public class RemoveMemberServiceTests {
.
name
(
"member"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"data.x@common.contoso.com"
)
...
...
@@ -170,7 +170,7 @@ public class RemoveMemberServiceTests {
.
name
(
"member"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"data.x@common.contoso.com"
)
...
...
@@ -219,7 +219,7 @@ public class RemoveMemberServiceTests {
.
name
(
"member"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"data.x@common.contoso.com"
)
...
...
@@ -271,7 +271,7 @@ public class RemoveMemberServiceTests {
.
name
(
"users"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"users@common.contoso.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"users@common.contoso.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"data.default.owners@common.contoso.com"
)
...
...
@@ -328,7 +328,7 @@ public class RemoveMemberServiceTests {
.
name
(
"member"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"member@xxx.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
entityNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
USER
)
.
nodeId
(
"member@xxx.com"
)
...
...
@@ -378,8 +378,8 @@ public class RemoveMemberServiceTests {
.
name
(
"datafier"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"datafier@evd-ddl-us-common.iam.gserviceaccount.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"datafier@evd-ddl-us-common.iam.gserviceaccount.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"users.data.root@common.contoso.com"
)
...
...
@@ -437,8 +437,8 @@ public class RemoveMemberServiceTests {
.
name
(
"users.data.root"
)
.
dataPartitionId
(
"common"
)
.
build
();
when
(
retrieveGroupRepo
.
get
EntityNode
(
"users.data.root@common.contoso.com"
,
"common"
)).
thenReturn
(
Optional
.
of
(
memberNode
)
)
;
when
(
retrieveGroupRepo
.
get
MemberNodeForRemovalFromGroup
(
"users.data.root@common.contoso.com"
,
"common"
)).
thenReturn
(
memberNode
);
EntityNode
groupNode
=
EntityNode
.
builder
()
.
type
(
NodeType
.
GROUP
)
.
nodeId
(
"users.test@common.contoso.com"
)
...
...
provider/entitlements-v2-aws/src/main/java/org/opengroup/osdu/entitlements/v2/aws/spi/retrievegroup/AwsRetrieveGroupRepo.java
View file @
6a02999e
...
...
@@ -90,6 +90,14 @@ public class AwsRetrieveGroupRepo implements RetrieveGroupRepo {
}
}
@Override
public
EntityNode
getMemberNodeForRemovalFromGroup
(
String
memberId
,
String
partitionId
)
{
if
(!
memberId
.
endsWith
(
String
.
format
(
"@%s.%s"
,
partitionId
,
config
.
getDomain
())))
{
return
EntityNode
.
createMemberNodeForNewUser
(
memberId
,
partitionId
);
}
return
EntityNode
.
createNodeFromGroupEmail
(
memberId
);
}
@Override
public
Set
<
EntityNode
>
getEntityNodes
(
String
partitionId
,
List
<
String
>
nodeIds
)
{
if
(
nodeIds
.
isEmpty
())
{
...
...
provider/entitlements-v2-azure/src/main/java/org/opengroup/osdu/entitlements/v2/azure/spi/gremlin/retrievegroup/RetrieveGroupRepoGremlin.java
View file @
6a02999e
...
...
@@ -54,6 +54,15 @@ public class RetrieveGroupRepoGremlin implements RetrieveGroupRepo {
return
gremlinConnector
.
getVertex
(
traversal
).
map
(
vertexUtilService:
:
createMemberNode
);
}
@Override
public
EntityNode
getMemberNodeForRemovalFromGroup
(
String
memberId
,
String
partitionId
)
{
return
getEntityNode
(
memberId
,
partitionId
)
.
orElseThrow
(()
->
new
AppException
(
HttpStatus
.
NOT_FOUND
.
value
(),
HttpStatus
.
NOT_FOUND
.
getReasonPhrase
(),
String
.
format
(
"Not found entity node by email: %s and partitionId: %s"
,
memberId
,
partitionId
)));
}
@Override
public
Set
<
EntityNode
>
getEntityNodes
(
String
partitionId
,
List
<
String
>
nodeIds
)
{
return
new
HashSet
<>();
...
...
provider/entitlements-v2-gcp/src/main/java/org/opengroup/osdu/entitlements/v2/gcp/spi/redis/retrievegroup/RetrieveGroupRepoRedis.java
View file @
6a02999e
...
...
@@ -87,6 +87,14 @@ public class RetrieveGroupRepoRedis implements RetrieveGroupRepo {
}
}
@Override
public
EntityNode
getMemberNodeForRemovalFromGroup
(
String
memberId
,
String
partitionId
)
{
if
(!
memberId
.
endsWith
(
String
.
format
(
"@%s.%s"
,
partitionId
,
config
.
getDomain
())))
{
return
EntityNode
.
createMemberNodeForNewUser
(
memberId
,
partitionId
);
}
return
EntityNode
.
createNodeFromGroupEmail
(
memberId
);
}
@Override
public
Set
<
EntityNode
>
getEntityNodes
(
String
partitionId
,
List
<
String
>
nodeIds
)
{
if
(
nodeIds
.
isEmpty
())
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment