From eaf7374d8e825fb9b7e5ed4b26e6c457942b2ca6 Mon Sep 17 00:00:00 2001 From: Dominik Frantisek Bucik <bucik@ics.muni.cz> Date: Wed, 19 Apr 2023 19:43:18 +0200 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20Update=20bbmri=5F*?= =?UTF-8?q?=20gen=20scripts=20for=20after=20BBMRI=20migration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change uses the BBMRI User ID extracted from a virtual attribute. The reason for doing so is the change in IDs of users when they are moved into th LS AAI. --- gen/bbmri_collections | 11 ++++++++--- gen/bbmri_networks | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gen/bbmri_collections b/gen/bbmri_collections index 4952e98d..48555b5a 100755 --- a/gen/bbmri_collections +++ b/gen/bbmri_collections @@ -14,7 +14,7 @@ use utf8; local $::SERVICE_NAME = "bbmri_collections"; local $::PROTOCOL_VERSION = "1.0.1"; -my $SCRIPT_VERSION = "1.0.2"; +my $SCRIPT_VERSION = "1.0.3"; perunServicesInit::init; my $DIRECTORY = perunServicesInit::getDirectory; @@ -27,6 +27,7 @@ sub processMemberships; #Constants our $A_USER_ID; *A_USER_ID = \'urn:perun:user:attribute-def:core:id'; +our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:bbmriUserId'; our $A_USER_STATUS; *A_USER_STATUS = \'urn:perun:member:attribute-def:core:status'; our $A_MEMBER_IS_SUSPENDED; *A_MEMBER_IS_SUSPENDED = \'urn:perun:member:attribute-def:virt:isSuspended'; our $A_USER_EMAIL; *A_USER_EMAIL = \'urn:perun:user:attribute-def:def:preferredMail'; @@ -48,6 +49,7 @@ our $u_email = {}; our $u_name = {}; our $u_eppn = {}; our $u_organization = {}; +our $u_bbmri_user_id = {}; our $groupStruc = {}; our $g_name = {}; @@ -71,7 +73,8 @@ foreach my $resourceId ( $data->getResourceIds() ) { my @users; foreach my $uid (sort keys %$userStruc) { my $user = {}; - $user->{"id"} = $uid; + $user->{"id"} = "$userStruc->{$uid}->{$u_bbmri_user_id}"; + $user->{"perun_user_id"} = $uid; $user->{"displayName"} = $userStruc->{$uid}->{$u_name}; $user->{"status"} = $userStruc->{$uid}->{$u_status}; $user->{"mail"} = $userStruc->{$uid}->{$u_email}; @@ -100,7 +103,7 @@ foreach my $gid (sort keys %$groupStruc) { my @members; foreach my $uid (sort keys %{$membershipStruc->{$gid}}){ my $struct = {}; - $struct->{"userId"} = $uid; + $struct->{"userId"} = "$userStruc->{$uid}->{$u_bbmri_user_id}"; push @members, $struct; } @@ -125,6 +128,7 @@ sub processUsers { my ($gid, $memberId) = @_; my $uid = $data->getUserAttributeValue( member => $memberId, attrName => $A_USER_ID ); + my $bbmriUserId = $data->getUserAttributeValue( member => $memberId, attrName => $A_BBMRI_USER_ID ); my $status = $data->getMemberAttributeValue(member => $memberId, attrName => $A_USER_STATUS); my $isSuspended = $data->getMemberAttributeValue( member => $memberId, attrName => $A_MEMBER_IS_SUSPENDED ); if ($isSuspended) { $status = $STATUS_SUSPENDED; } @@ -151,6 +155,7 @@ sub processUsers { } else{ $userStruc->{$uid}->{$u_status} = $status; + $userStruc->{$uid}->{$u_bbmri_user_id} = $bbmriUserId; $userStruc->{$uid}->{$u_email} = $email; $userStruc->{$uid}->{$u_name} = $d_name; $userStruc->{$uid}->{$u_eppn} = \@eppns; diff --git a/gen/bbmri_networks b/gen/bbmri_networks index a7b34d63..7813dc2b 100755 --- a/gen/bbmri_networks +++ b/gen/bbmri_networks @@ -14,7 +14,7 @@ use utf8; local $::SERVICE_NAME = "bbmri_networks"; local $::PROTOCOL_VERSION = "1.0.0"; -my $SCRIPT_VERSION = "1.0.1"; +my $SCRIPT_VERSION = "1.0.2"; perunServicesInit::init; my $DIRECTORY = perunServicesInit::getDirectory; @@ -27,6 +27,7 @@ sub processMemberships; #Constants our $A_USER_ID; *A_USER_ID = \'urn:perun:user:attribute-def:core:id'; +our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:bbmriUserId'; our $A_USER_STATUS; *A_USER_STATUS = \'urn:perun:member:attribute-def:core:status'; our $A_USER_EMAIL; *A_USER_EMAIL = \'urn:perun:user:attribute-def:def:preferredMail'; our $A_USER_EPPNS; *A_USER_EPPNS = \'urn:perun:user:attribute-def:virt:eduPersonPrincipalNames'; @@ -45,6 +46,7 @@ our $u_status = {}; our $u_email = {}; our $u_name = {}; our $u_eppn = {}; +our $u_bbmri_user_id = {}; our $groupStruc = {}; our $g_name = {}; @@ -67,7 +69,8 @@ foreach my $resourceId ( $data->getResourceIds() ) { my @users; foreach my $uid (sort keys %$userStruc) { my $user = {}; - $user->{"id"} = $uid; + $user->{"id"} = "$userStruc->{$uid}->{$u_bbmri_user_id}"; + $user->{"perun_user_id"} = $uid; $user->{"displayName"} = $userStruc->{$uid}->{$u_name}; $user->{"status"} = $userStruc->{$uid}->{$u_status}; $user->{"mail"} = $userStruc->{$uid}->{$u_email}; @@ -93,7 +96,7 @@ foreach my $gid (sort keys %$groupStruc) { my @members; foreach my $uid (sort keys %{$membershipStruc->{$gid}}){ my $struct = {}; - $struct->{"userId"} = $uid; + $struct->{"userId"} = "$userStruc->{$uid}->{$u_bbmri_user_id}"; push @members, $struct; } @@ -118,6 +121,7 @@ sub processUsers { my ($gid, $memberId) = @_; my $uid = $data->getUserAttributeValue( member => $memberId, attrName => $A_USER_ID ); + my $bbmriUserId = $data->getUserAttributeValue( member => $memberId, attrName => $A_BBMRI_USER_ID ); my $status = $data->getMemberAttributeValue( member => $memberId, attrName => $A_USER_STATUS ); my $isSuspended = $data->getMemberAttributeValue( member => $memberId, attrName => $A_MEMBER_IS_SUSPENDED ); if ($isSuspended) { $status = $STATUS_SUSPENDED; } @@ -143,6 +147,7 @@ sub processUsers { } else{ $userStruc->{$uid}->{$u_status} = $status; + $userStruc->{$uid}->{$u_bbmri_user_id} = $bbmriUserId; $userStruc->{$uid}->{$u_email} = $email; $userStruc->{$uid}->{$u_name} = $d_name; $userStruc->{$uid}->{$u_eppn} = \@eppns; -- GitLab From f09bad3c395bf36f9aa5c3339959c6b781b06c45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Franti=C5=A1ek=20Bu=C4=8D=C3=ADk?= <bucik@ics.muni.cz> Date: Fri, 28 Apr 2023 11:24:21 +0200 Subject: [PATCH 2/3] Update gen/bbmri_networks Co-authored-by: Johaney-s <73999257+Johaney-s@users.noreply.github.com> --- gen/bbmri_networks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/bbmri_networks b/gen/bbmri_networks index 7813dc2b..f3e62fda 100755 --- a/gen/bbmri_networks +++ b/gen/bbmri_networks @@ -27,7 +27,7 @@ sub processMemberships; #Constants our $A_USER_ID; *A_USER_ID = \'urn:perun:user:attribute-def:core:id'; -our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:bbmriUserId'; +our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:login-namespace:bbmriid-persistent'; our $A_USER_STATUS; *A_USER_STATUS = \'urn:perun:member:attribute-def:core:status'; our $A_USER_EMAIL; *A_USER_EMAIL = \'urn:perun:user:attribute-def:def:preferredMail'; our $A_USER_EPPNS; *A_USER_EPPNS = \'urn:perun:user:attribute-def:virt:eduPersonPrincipalNames'; -- GitLab From dc39ee88f31997b5350e57214d93d27634b8d006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Franti=C5=A1ek=20Bu=C4=8D=C3=ADk?= <bucik@ics.muni.cz> Date: Fri, 28 Apr 2023 11:24:27 +0200 Subject: [PATCH 3/3] Update gen/bbmri_collections Co-authored-by: Johaney-s <73999257+Johaney-s@users.noreply.github.com> --- gen/bbmri_collections | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen/bbmri_collections b/gen/bbmri_collections index 48555b5a..da168a28 100755 --- a/gen/bbmri_collections +++ b/gen/bbmri_collections @@ -27,7 +27,7 @@ sub processMemberships; #Constants our $A_USER_ID; *A_USER_ID = \'urn:perun:user:attribute-def:core:id'; -our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:bbmriUserId'; +our $A_BBMRI_USER_ID; *A_BBMRI_USER_ID = \'urn:perun:user:attribute-def:virt:login-namespace:bbmriid-persistent'; our $A_USER_STATUS; *A_USER_STATUS = \'urn:perun:member:attribute-def:core:status'; our $A_MEMBER_IS_SUSPENDED; *A_MEMBER_IS_SUSPENDED = \'urn:perun:member:attribute-def:virt:isSuspended'; our $A_USER_EMAIL; *A_USER_EMAIL = \'urn:perun:user:attribute-def:def:preferredMail'; -- GitLab