ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: синхронизация профиля Tasker

This commit is contained in:
DCCONSTRUCTIONS
2026-05-12 17:57:57 +03:00
parent 480f85cce8
commit 1f7ecc39a0
4 changed files with 159 additions and 3 deletions
@@ -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")