Skip to content

Commit 5ea4af4

Browse files
author
Nivedithaa Mahendran
committed
update
1 parent 844e7bf commit 5ea4af4

2 files changed

Lines changed: 232 additions & 51 deletions

File tree

src/mas/devops/users.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)