import 'package:dash_chat/dash_chat.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:e2ee_chat/presenter/contact.dart'; import 'message.dart'; part 'user.g.dart'; @JsonSerializable() class User { User(this.username, {this.bio, this.phone, this.avatar}); factory User.fromJson(Map json) => _$UserFromJson(json); Map toJson() => _$UserToJson(this); final String username; final friends = []; final messages = []; // final groupMessages = []; String? bio; String? phone; String? avatar; bool isDND = false; bool isStick = false; bool isSpecialAttention = false; ChatUser toChatUser() => ChatUser(uid: username, name: username, avatar: avatar); Future refreshProfile() => UserProfilePresenter(this).refresh(); }