ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: маппинг имени профиля Tasker
This commit is contained in:
@@ -61,15 +61,24 @@ def normalize_tasker_avatar_url(value):
|
||||
return avatar_url
|
||||
|
||||
|
||||
def get_user_display_name(user):
|
||||
def get_user_full_name(user):
|
||||
return " ".join(
|
||||
value for value in [getattr(user, "first_name", ""), getattr(user, "last_name", "")] if value
|
||||
).strip()
|
||||
|
||||
|
||||
def get_user_display_name(user, changed_fields=None):
|
||||
changed_fields = set(changed_fields or [])
|
||||
full_name = get_user_full_name(user)
|
||||
display_name = getattr(user, "display_name", "")
|
||||
|
||||
if {"first_name", "last_name"} & changed_fields and "display_name" not in changed_fields and full_name:
|
||||
return full_name
|
||||
|
||||
if display_name:
|
||||
return display_name
|
||||
|
||||
name = " ".join(
|
||||
value for value in [getattr(user, "first_name", ""), getattr(user, "last_name", "")] if value
|
||||
).strip()
|
||||
return name or user.email
|
||||
return full_name or user.email
|
||||
|
||||
|
||||
def get_nodedc_subject(user):
|
||||
@@ -78,17 +87,20 @@ def get_nodedc_subject(user):
|
||||
|
||||
|
||||
def build_nodedc_profile_payload(user, changed_fields=None):
|
||||
changed_fields = sorted(set(changed_fields or []))
|
||||
display_name = get_user_display_name(user, changed_fields=changed_fields)
|
||||
|
||||
return {
|
||||
"source": "tasker",
|
||||
"planeUserId": str(user.id),
|
||||
"subject": get_nodedc_subject(user),
|
||||
"email": user.email,
|
||||
"name": get_user_display_name(user),
|
||||
"displayName": user.display_name or get_user_display_name(user),
|
||||
"name": display_name,
|
||||
"displayName": display_name,
|
||||
"firstName": user.first_name,
|
||||
"lastName": user.last_name,
|
||||
"avatarUrl": normalize_tasker_avatar_url(user.avatar_url),
|
||||
"changedFields": sorted(set(changed_fields or [])),
|
||||
"changedFields": changed_fields,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user