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