Files
flutterApp/lib/features/auth/data/models/user_model.dart
2026-08-07 08:49:29 +08:00

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,
);
}
}