34 lines
809 B
Dart
34 lines
809 B
Dart
import 'package:famedlysdk/src/Client.dart';
|
|
import 'package:famedlysdk/src/utils/MxContent.dart';
|
|
import 'package:famedlysdk/src/Room.dart';
|
|
|
|
class User {
|
|
final String status;
|
|
final String mxid;
|
|
final String displayName;
|
|
final MxContent avatar_url;
|
|
final String directChatRoomId;
|
|
final Room room;
|
|
|
|
const User(
|
|
this.mxid, {
|
|
this.status,
|
|
this.displayName,
|
|
this.avatar_url,
|
|
this.directChatRoomId,
|
|
this.room,
|
|
});
|
|
|
|
String calcDisplayname() => displayName.isEmpty
|
|
? mxid.replaceFirst("@", "").split(":")[0]
|
|
: displayName;
|
|
|
|
static User fromJson(Map<String, dynamic> json) {
|
|
return User(json['matrix_id'],
|
|
displayName: json['displayname'],
|
|
avatar_url: MxContent(json['avatar_url']),
|
|
status: "",
|
|
directChatRoomId: "");
|
|
}
|
|
}
|