Map<String, dynamic> toJson() { return { 'peer_id': peerId, 'metadata': metadata, }..removeWhere((key, value) => value == null); }