78 lines
1.8 KiB
Dart
78 lines
1.8 KiB
Dart
import 'package:maibu_satabot_v2/core/data/base_model.dart';
|
|
|
|
import '../../../../core/domain/entities/user_entity.dart';
|
|
|
|
class UserModel extends UserEntity implements BaseModel {
|
|
UserModel({
|
|
required super.userId,
|
|
required super.username,
|
|
required super.nickname,
|
|
required super.token,
|
|
required super.orgId,
|
|
super.avatar,
|
|
super.email,
|
|
super.phone,
|
|
super.roleKey,
|
|
super.siteId,
|
|
});
|
|
|
|
factory UserModel.fromJson(Map<String, dynamic> json) {
|
|
return UserModel(
|
|
userId: json['userId']?.toString() ?? '',
|
|
username: json['username'] ?? '',
|
|
nickname: json['nickName'] ?? '',
|
|
token: json['token'] ?? '',
|
|
orgId: (json['orgId'] as num?)?.toInt() ?? 0,
|
|
avatar: json['avatar'],
|
|
email: json['email'],
|
|
phone: json['phone'],
|
|
roleKey: json['roleKey'],
|
|
siteId: (json['siteId'] as num?)?.toInt(),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'userId': userId,
|
|
'username': username,
|
|
'nickName': nickname,
|
|
'token': token,
|
|
'orgId': orgId,
|
|
'avatar': avatar,
|
|
'email': email,
|
|
'phone': phone,
|
|
'roleKey': roleKey,
|
|
'siteId': siteId,
|
|
};
|
|
}
|
|
|
|
toEntity() {
|
|
return UserEntity(
|
|
userId: userId,
|
|
username: username,
|
|
nickname: nickname,
|
|
token: token,
|
|
orgId: orgId,
|
|
avatar: avatar,
|
|
email: email,
|
|
phone: phone,
|
|
roleKey: roleKey,
|
|
siteId: siteId,
|
|
);
|
|
}
|
|
|
|
factory UserModel.fromEntity(UserEntity entity) {
|
|
return UserModel(
|
|
userId: entity.userId,
|
|
username: entity.username,
|
|
nickname: entity.nickname,
|
|
token: entity.token,
|
|
orgId: entity.orgId,
|
|
avatar: entity.avatar,
|
|
email: entity.email,
|
|
phone: entity.phone,
|
|
roleKey: entity.roleKey,
|
|
siteId: entity.siteId,
|
|
);
|
|
}
|
|
} |