Files
flutterApp/lib/features/devices/data/models/device_model.dart
2026-01-27 18:44:49 +08:00

80 lines
2.2 KiB
Dart

import 'package:maibu_satabot_v2/core/data/base_model.dart';
import 'package:maibu_satabot_v2/features/devices/domain/entities/device_entity.dart';
class DeviceModel extends DeviceEntity implements BaseModel<DeviceEntity> {
DeviceModel({
required super.deviceName,
required super.productId,
required super.productName,
required super.tenantId,
required super.tenantName,
required super.status,
required super.activeTime,
required super.deviceAlias,
required super.isBind,
required super.onlineStatus,
});
factory DeviceModel.fromJson(Map<String, dynamic> json) {
return DeviceModel(
deviceName: json['deviceName'],
productId: json['productId'],
productName: json['productName'],
tenantId: json['tenantId'],
tenantName: json['tenantName'],
status: json['status'],
activeTime: json['activeTime'],
deviceAlias: json['deviceAlias'],
isBind: json['isBind'],
onlineStatus: json['onlineStatus'],
);
}
@override
Map<String, dynamic> toJson() {
return {
'deviceName': deviceName,
'productId': productId,
'productName': productName,
'tenantId': tenantId,
'tenantName': tenantName,
'status': status,
'activeTime': activeTime,
'deviceAlias': deviceAlias,
'isBind': isBind,
'onlineStatus': onlineStatus,
};
}
@override
DeviceEntity toEntity() {
return DeviceEntity(
deviceName: deviceName,
productId: productId,
productName: productName,
tenantId: tenantId,
tenantName: tenantName,
status: status,
activeTime: activeTime,
deviceAlias: deviceAlias,
isBind: isBind,
onlineStatus: onlineStatus,
);
}
factory DeviceModel.fromEntity(DeviceEntity entity) {
return DeviceModel(
deviceName: entity.deviceName,
productId: entity.productId,
productName: entity.productName,
tenantId: entity.tenantId,
tenantName: entity.tenantName,
status: entity.status,
activeTime: entity.activeTime,
deviceAlias: entity.deviceAlias,
isBind: entity.isBind,
onlineStatus: entity.onlineStatus,
);
}
}