ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: синхронизация профиля Tasker
This commit is contained in:
@@ -183,15 +183,17 @@ def resolve_nodedc_launcher_origin():
|
||||
def sync_user_profile_from_payload(user, payload):
|
||||
updated_fields = []
|
||||
display_name = first_payload_string(payload, "displayName", "display_name", "name")
|
||||
has_avatar = any(key in payload for key in ["avatarUrl", "avatar_url", "avatar"])
|
||||
avatar_url = normalize_nodedc_avatar_url(first_payload_string(payload, "avatarUrl", "avatar_url", "avatar"))
|
||||
|
||||
if display_name and user.display_name != display_name:
|
||||
user.display_name = display_name
|
||||
updated_fields.append("display_name")
|
||||
|
||||
if avatar_url and user.avatar != avatar_url:
|
||||
if has_avatar and (user.avatar != avatar_url or user.avatar_asset_id is not None):
|
||||
user.avatar = avatar_url
|
||||
updated_fields.append("avatar")
|
||||
user.avatar_asset_id = None
|
||||
updated_fields.extend(["avatar", "avatar_asset"])
|
||||
|
||||
if updated_fields:
|
||||
updated_fields.append("updated_at")
|
||||
|
||||
Reference in New Issue
Block a user