in annotation/annotation/microservice_communication/user.py [0:0]
def get_username(callback_url: str, user_id: str, tenant: str, token: str):
try:
user_response = requests.get(
f"{callback_url}/{user_id}",
headers={
"X-Current-Tenant": tenant,
"Authorization": f"Bearer {token}",
},
timeout=5,
)
if user_response.status_code == 403:
raise GetUserInfoAccessDenied(
"Access Denied on request to users microservice "
)
if user_response.status_code == 404:
Logger.info("User %s is not found in 'users'", user_id)
return ""
if user_response.status_code != 200:
raise GetUserInfoException(
f"Failed request to 'users' microservice: {user_response.text}"
)
return user_response.json().get("username")
except RequestException as exc:
raise GetUserInfoException(exc)