Skip to content

Commit 0f89be2

Browse files
committed
[patch] Fix support for facilities in initial user creation
1 parent 25b9131 commit 0f89be2

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

src/mas/devops/users.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,7 @@ def create_initial_users_for_saas(self, initial_users):
817817
for primary_user in primary_users:
818818
self.logger.info("")
819819
try:
820-
self.logger.info(f"Syncing primary user {primary_user['email']}")
820+
self.logger.info(f"Syncing primary user with email {primary_user['email']}")
821821
self.create_initial_user_for_saas(primary_user, "PRIMARY")
822822
completed.append(primary_user)
823823
self.logger.info(f"Completed sync of primary user {primary_user['email']}")
@@ -829,7 +829,7 @@ def create_initial_users_for_saas(self, initial_users):
829829
self.logger.info("")
830830
try:
831831
self.logger.info("")
832-
self.logger.info(f"Syncing secondary user {secondary_user['email']}")
832+
self.logger.info(f"Syncing secondary user with email {secondary_user['email']}")
833833
self.create_initial_user_for_saas(secondary_user, "SECONDARY")
834834
completed.append(secondary_user)
835835
self.logger.info(f"Completed sync of secondary user {secondary_user['email']}")
@@ -855,8 +855,13 @@ def create_initial_user_for_saas(self, user, user_type):
855855
user_given_name = user["given_name"]
856856
user_family_name = user["family_name"]
857857

858-
user_id = user_email
859-
username = user_email
858+
if "id" in user:
859+
user_id = user["id"]
860+
else:
861+
# default to email if no id provided
862+
user_id = user_email
863+
864+
username = user_id
860865
# display_name = re.search('^([^@]+)@', user_email).group(1) # local part of the email
861866
display_name = f"{user_given_name} {user_family_name}"
862867

@@ -874,6 +879,7 @@ def create_initial_user_for_saas(self, user, user_type):
874879
}
875880
is_workspace_admin = True
876881
application_role = "ADMIN"
882+
facilities_role = "PREMIUM"
877883
# TODO: check which security groups primary users should be members of
878884
manage_security_groups = ["MAXADMIN"]
879885
elif user_type == "SECONDARY":
@@ -889,6 +895,7 @@ def create_initial_user_for_saas(self, user, user_type):
889895
}
890896
is_workspace_admin = False
891897
application_role = "USER"
898+
facilities_role = "BASE"
892899
# TODO: check which security groups secondary users should be members of
893900
manage_security_groups = []
894901
else:
@@ -906,6 +913,8 @@ def create_initial_user_for_saas(self, user, user_type):
906913
"primary": True
907914
}
908915
],
916+
"phoneNumbers": [],
917+
"addresses": [],
909918
"displayName": display_name,
910919
"issuer": "local",
911920
"permissions": permissions,
@@ -923,6 +932,8 @@ def create_initial_user_for_saas(self, user, user_type):
923932
if mas_application_id == "manage":
924933
# special case for manage; role is always "MANAGEUSER"
925934
role = "MANAGEUSER"
935+
if mas_application_id == "facilities":
936+
role = facilities_role
926937
else:
927938
# otherwise grant the user the appropriate role for their user_type
928939
role = application_role

0 commit comments

Comments
 (0)