@@ -209,7 +209,7 @@ def get_user(self, user_id):
209209 Raises:
210210 Exception: If the API returns an unexpected status code.
211211 """
212- self .logger .debug (f"Getting user { user_id } " )
212+ self .logger .info (f"Getting user { user_id } " )
213213 resource_id = None
214214
215215 # For MAS version >= 9.1, use the Manage API masperuser endpoint
@@ -267,7 +267,7 @@ def get_user(self, user_id):
267267 verify = self .manage_internal_ca_pem_file_path
268268 )
269269 self .logger .info (f"GET { url } returned { response .status_code } " )
270- self .logger .info (f"Response: { response .text } " )
270+ self .logger .info (f"Response: { response .json () } " )
271271 else :
272272 # For earlier versions, use the Core API v3/users endpoint
273273 url = f"{ self .mas_api_url_internal } /v3/users/{ user_id } "
@@ -284,10 +284,21 @@ def get_user(self, user_id):
284284 if response .status_code == 404 :
285285 return resource_id , None
286286
287- if response .status_code = = 200 :
288- return resource_id , response .json ( )
287+ if response .status_code ! = 200 :
288+ raise Exception ( f" { response . status_code } { response .text } " )
289289
290- raise Exception (f"{ response .status_code } { response .text } " )
290+ # Handle response based on version
291+ if Version (self .mas_version ) >= Version ('9.1' ):
292+ # Manage API returns member array
293+ user_data = response .json ()
294+ if "member" in user_data and len (user_data ["member" ]) > 0 :
295+ return resource_id , user_data ["member" ][0 ]
296+ else :
297+ # Empty member array means user not found
298+ return resource_id , None
299+ else :
300+ # Core API returns user object directly
301+ return resource_id , response .json ()
291302
292303 def get_or_create_user (self , payload ):
293304 """
@@ -818,7 +829,11 @@ def resync_users(self, user_ids):
818829
819830 for user_id in user_ids :
820831 resource_id , user = self .get_user (user_id )
821- self .update_user_display_name (user_id , user ["displayName" ])
832+ # For version >= 9.1, Manage API uses "displayname" (lowercase)
833+ # For version < 9.1, Core API uses "displayName" (camelCase)
834+ display_name = user .get ("displayname" ) if Version (self .mas_version ) >= Version ('9.1' ) else user .get ("displayName" )
835+ if display_name :
836+ self .update_user_display_name (user_id , display_name )
822837
823838 def create_or_get_manage_api_key_for_user (self , user_id , temporary = False ):
824839 """
0 commit comments