extractUserAvatar static method

String? extractUserAvatar(
  1. String? metadata
)

Implementation

static String? extractUserAvatar(String? metadata) {
  if (metadata == null || metadata.trim().isEmpty) return null;

  try {
    final Map<String, dynamic> decoded = jsonDecode(metadata);

    // Navigate through the nested keys safely
    if (decoded.containsKey('custom_metadata') &&
        decoded['custom_metadata'] is Map &&
        decoded['custom_metadata']['user_avatar'] is String) {
      final String avatarUrl = decoded['custom_metadata']['user_avatar'];
      return avatarUrl.isNotEmpty ? avatarUrl : null;
    }
  } catch (e) {
    // Invalid JSON — just return null
    return null;
  }

  return null;
}