/* * Famedly Matrix SDK * Copyright (C) 2019, 2020 Famedly GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ class Profile { /// The user's avatar URL if they have set one, otherwise null. Uri avatarUrl; /// The user's display name if they have set one, otherwise null. String displayname; /// The matrix ID of this user. May be omitted. String userId; Map additionalContent; Profile(this.displayname, this.avatarUrl, {this.additionalContent = const {}}); Profile.fromJson(Map json) : avatarUrl = json['avatar_url'] != null ? Uri.parse(json['avatar_url']) : null, displayname = json['display_name'] ?? json['displayname'], userId = json['user_id'], additionalContent = json; Map toJson() { return additionalContent; } }