import 'liveConsultation.m.dart'; import 'notification.m.dart'; import 'package:fis_common/json_convert.dart'; class ApplicationSettingInfoDTO { String? id; String? name; bool isPreferred; bool isUserDefined; bool isHidden; ApplicationSettingInfoDTO({ this.id, this.name, this.isPreferred = false, this.isUserDefined = false, this.isHidden = false, }); factory ApplicationSettingInfoDTO.fromJson(Map map) { return ApplicationSettingInfoDTO( id: map['Id'], name: map['Name'], isPreferred: map['IsPreferred'], isUserDefined: map['IsUserDefined'], isHidden: map['IsHidden'], ); } Map toJson() { final map = Map(); if (id != null) { map['Id'] = id; } if (name != null) { map['Name'] = name; } map['IsPreferred'] = isPreferred; map['IsUserDefined'] = isUserDefined; map['IsHidden'] = isHidden; return map; } } class ProbeSettingInfoDTO { String? name; List? applications; ProbeSettingInfoDTO({ this.name, this.applications, }); factory ProbeSettingInfoDTO.fromJson(Map map) { return ProbeSettingInfoDTO( name: map['Name'], applications: map['Applications'] != null ? (map['Applications'] as List).map((e)=>ApplicationSettingInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (name != null) { map['Name'] = name; } if (applications != null) { map['Applications'] = applications; } return map; } } class ProbeApplicationSettingInfoDTO { List? probes; String? activeProbe; String? activeApplication; int maxNumberForApplication; int maxNumberForApplicationOfUserDefine; ProbeApplicationSettingInfoDTO({ this.probes, this.activeProbe, this.activeApplication, this.maxNumberForApplication = 0, this.maxNumberForApplicationOfUserDefine = 0, }); factory ProbeApplicationSettingInfoDTO.fromJson(Map map) { return ProbeApplicationSettingInfoDTO( probes: map['Probes'] != null ? (map['Probes'] as List).map((e)=>ProbeSettingInfoDTO.fromJson(e as Map)).toList() : null, activeProbe: map['ActiveProbe'], activeApplication: map['ActiveApplication'], maxNumberForApplication: map['MaxNumberForApplication'], maxNumberForApplicationOfUserDefine: map['MaxNumberForApplicationOfUserDefine'], ); } Map toJson() { final map = Map(); if (probes != null) { map['Probes'] = probes; } if (activeProbe != null) { map['ActiveProbe'] = activeProbe; } if (activeApplication != null) { map['ActiveApplication'] = activeApplication; } map['MaxNumberForApplication'] = maxNumberForApplication; map['MaxNumberForApplicationOfUserDefine'] = maxNumberForApplicationOfUserDefine; return map; } } class GetControlParametersRequest extends TokenRequest{ String? deviceCode; GetControlParametersRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory GetControlParametersRequest.fromJson(Map map) { return GetControlParametersRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } enum ConnectStatusEnum { UnConnect, WaitConnect, CompleteConnect, WaitDisconnect, CompleteDisconnect, } class UserRemoteConnectRequest { TransactionTypeEnum transactionType; ConnectStatusEnum statusEnum; String? userToken; String? deviceToken; String? userCode; String? roomId; String? deviceCode; LoginSource loginSource; bool isNeedSyn; UserRemoteConnectRequest({ this.transactionType = TransactionTypeEnum.Consultion, this.statusEnum = ConnectStatusEnum.UnConnect, this.userToken, this.deviceToken, this.userCode, this.roomId, this.deviceCode, this.loginSource = LoginSource.PC, this.isNeedSyn = false, }); factory UserRemoteConnectRequest.fromJson(Map map) { return UserRemoteConnectRequest( transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']), statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']), userToken: map['UserToken'], deviceToken: map['DeviceToken'], userCode: map['UserCode'], roomId: map['RoomId'], deviceCode: map['DeviceCode'], loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), isNeedSyn: map['IsNeedSyn'], ); } Map toJson() { final map = Map(); map['TransactionType'] = transactionType.index; map['StatusEnum'] = statusEnum.index; if (userToken != null) { map['UserToken'] = userToken; } if (deviceToken != null) { map['DeviceToken'] = deviceToken; } if (userCode != null) { map['UserCode'] = userCode; } if (roomId != null) { map['RoomId'] = roomId; } if (deviceCode != null) { map['DeviceCode'] = deviceCode; } map['LoginSource'] = loginSource.index; map['IsNeedSyn'] = isNeedSyn; return map; } } class DeviceRemoteConnectRequest { TransactionTypeEnum transactionType; ConnectStatusEnum statusEnum; String? userToken; String? deviceToken; String? userCode; String? roomId; String? deviceCode; bool isNeedSyn; LoginSource loginSource; DeviceRemoteConnectRequest({ this.transactionType = TransactionTypeEnum.Consultion, this.statusEnum = ConnectStatusEnum.UnConnect, this.userToken, this.deviceToken, this.userCode, this.roomId, this.deviceCode, this.isNeedSyn = false, this.loginSource = LoginSource.PC, }); factory DeviceRemoteConnectRequest.fromJson(Map map) { return DeviceRemoteConnectRequest( transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']), statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']), userToken: map['UserToken'], deviceToken: map['DeviceToken'], userCode: map['UserCode'], roomId: map['RoomId'], deviceCode: map['DeviceCode'], isNeedSyn: map['IsNeedSyn'], loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), ); } Map toJson() { final map = Map(); map['TransactionType'] = transactionType.index; map['StatusEnum'] = statusEnum.index; if (userToken != null) { map['UserToken'] = userToken; } if (deviceToken != null) { map['DeviceToken'] = deviceToken; } if (userCode != null) { map['UserCode'] = userCode; } if (roomId != null) { map['RoomId'] = roomId; } if (deviceCode != null) { map['DeviceCode'] = deviceCode; } map['IsNeedSyn'] = isNeedSyn; map['LoginSource'] = loginSource.index; return map; } } class RemoteConnectsRequest { List? userRemoteConnect; List? deviceRemoteConnect; RemoteConnectsRequest({ this.userRemoteConnect, this.deviceRemoteConnect, }); factory RemoteConnectsRequest.fromJson(Map map) { return RemoteConnectsRequest( userRemoteConnect: map['UserRemoteConnect'] != null ? (map['UserRemoteConnect'] as List).map((e)=>UserRemoteConnectRequest.fromJson(e as Map)).toList() : null, deviceRemoteConnect: map['DeviceRemoteConnect'] != null ? (map['DeviceRemoteConnect'] as List).map((e)=>DeviceRemoteConnectRequest.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (userRemoteConnect != null) { map['UserRemoteConnect'] = userRemoteConnect; } if (deviceRemoteConnect != null) { map['DeviceRemoteConnect'] = deviceRemoteConnect; } return map; } } class GetDeviceRequest extends TokenRequest{ String? deviceCode; bool isNeedSyn; List? connectStatus; GetDeviceRequest({ this.deviceCode, this.isNeedSyn = false, this.connectStatus, String? token, }) : super( token: token, ); factory GetDeviceRequest.fromJson(Map map) { return GetDeviceRequest( deviceCode: map['DeviceCode'], isNeedSyn: map['IsNeedSyn'], connectStatus: map['ConnectStatus'] != null ? (map['ConnectStatus'] as List).map((e)=>ConnectStatusEnum.values.firstWhere((i) => i.index == e)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; map['IsNeedSyn'] = isNeedSyn; if (connectStatus != null) map['ConnectStatus'] = connectStatus; return map; } } class GetDevicePrintersForUploadRequest extends TokenRequest{ String? deviceCode; GetDevicePrintersForUploadRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory GetDevicePrintersForUploadRequest.fromJson(Map map) { return GetDevicePrintersForUploadRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class ExistsDevicePrinterRequest extends TokenRequest{ String? name; ExistsDevicePrinterRequest({ this.name, String? token, }) : super( token: token, ); factory ExistsDevicePrinterRequest.fromJson(Map map) { return ExistsDevicePrinterRequest( name: map['Name'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (name != null) map['Name'] = name; return map; } } class MigrateDevicePrinterInfo extends DevicePrinterDTO{ bool isDelete; MigrateDevicePrinterInfo({ this.isDelete = false, DateTime? createTime, DateTime? updateTime, String? code, String? name, String? driveModelName, String? description, String? osVersion, List? fileUploadInfoList, int fileSize = 0, String? printerBrands, List? printerModels, String? fileName, }) : super( code: code, name: name, driveModelName: driveModelName, description: description, osVersion: osVersion, fileUploadInfoList: fileUploadInfoList, fileSize: fileSize, printerBrands: printerBrands, printerModels: printerModels, fileName: fileName, createTime: createTime, updateTime: updateTime, ); factory MigrateDevicePrinterInfo.fromJson(Map map) { return MigrateDevicePrinterInfo( isDelete: map['IsDelete'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, code: map['Code'], name: map['Name'], driveModelName: map['DriveModelName'], description: map['Description'], osVersion: map['OsVersion'], fileUploadInfoList: map['FileUploadInfoList'] != null ? (map['FileUploadInfoList'] as List).map((e)=>UploadDeviceFileInfoDTO.fromJson(e as Map)).toList() : null, fileSize: map['FileSize'], printerBrands: map['PrinterBrands'], printerModels: map['PrinterModels']?.cast().toList(), fileName: map['FileName'], ); } Map toJson() { final map = super.toJson(); map['IsDelete'] = isDelete; return map; } } class MigrateDevicePrinterRequest extends TokenRequest{ List? migrateDevicePrinterInfos; MigrateDevicePrinterRequest({ this.migrateDevicePrinterInfos, String? token, }) : super( token: token, ); factory MigrateDevicePrinterRequest.fromJson(Map map) { return MigrateDevicePrinterRequest( migrateDevicePrinterInfos: map['MigrateDevicePrinterInfos'] != null ? (map['MigrateDevicePrinterInfos'] as List).map((e)=>MigrateDevicePrinterInfo.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (migrateDevicePrinterInfos != null) map['MigrateDevicePrinterInfos'] = migrateDevicePrinterInfos; return map; } } class DevicePatchDTO extends BaseDTO{ String? code; String? name; String? description; String? deviceType; String? softwareVersion; String? osVersion; List? deviceFileInfoList; int fileSize; String? fileName; DevicePatchDTO({ this.code, this.name, this.description, this.deviceType, this.softwareVersion, this.osVersion, this.deviceFileInfoList, this.fileSize = 0, this.fileName, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DevicePatchDTO.fromJson(Map map) { return DevicePatchDTO( code: map['Code'], name: map['Name'], description: map['Description'], deviceType: map['DeviceType'], softwareVersion: map['SoftwareVersion'], osVersion: map['OsVersion'], deviceFileInfoList: map['DeviceFileInfoList'] != null ? (map['DeviceFileInfoList'] as List).map((e)=>UploadDeviceFileInfoDTO.fromJson(e as Map)).toList() : null, fileSize: map['FileSize'], fileName: map['FileName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (deviceType != null) map['DeviceType'] = deviceType; if (softwareVersion != null) map['SoftwareVersion'] = softwareVersion; if (osVersion != null) map['OsVersion'] = osVersion; if (deviceFileInfoList != null) map['DeviceFileInfoList'] = deviceFileInfoList; map['FileSize'] = fileSize; if (fileName != null) map['FileName'] = fileName; return map; } } class MigrateDevicePatchInfo extends DevicePatchDTO{ bool isDelete; MigrateDevicePatchInfo({ this.isDelete = false, DateTime? createTime, DateTime? updateTime, String? code, String? name, String? description, String? deviceType, String? softwareVersion, String? osVersion, List? deviceFileInfoList, int fileSize = 0, String? fileName, }) : super( code: code, name: name, description: description, deviceType: deviceType, softwareVersion: softwareVersion, osVersion: osVersion, deviceFileInfoList: deviceFileInfoList, fileSize: fileSize, fileName: fileName, createTime: createTime, updateTime: updateTime, ); factory MigrateDevicePatchInfo.fromJson(Map map) { return MigrateDevicePatchInfo( isDelete: map['IsDelete'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, code: map['Code'], name: map['Name'], description: map['Description'], deviceType: map['DeviceType'], softwareVersion: map['SoftwareVersion'], osVersion: map['OsVersion'], deviceFileInfoList: map['DeviceFileInfoList'] != null ? (map['DeviceFileInfoList'] as List).map((e)=>UploadDeviceFileInfoDTO.fromJson(e as Map)).toList() : null, fileSize: map['FileSize'], fileName: map['FileName'], ); } Map toJson() { final map = super.toJson(); map['IsDelete'] = isDelete; return map; } } class MigrateDevicePatchRequest extends TokenRequest{ List? migrateDevicePatchInfos; MigrateDevicePatchRequest({ this.migrateDevicePatchInfos, String? token, }) : super( token: token, ); factory MigrateDevicePatchRequest.fromJson(Map map) { return MigrateDevicePatchRequest( migrateDevicePatchInfos: map['MigrateDevicePatchInfos'] != null ? (map['MigrateDevicePatchInfos'] as List).map((e)=>MigrateDevicePatchInfo.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (migrateDevicePatchInfos != null) map['MigrateDevicePatchInfos'] = migrateDevicePatchInfos; return map; } } class DeviceExtendInfoDTO extends DeviceInfoDTO{ String? organizationName; String? departmentName; bool isLiving; String? organizationDirectorCode; String? organizationDirectorUserName; String? organizationDirectorFullName; bool isEmergencyDevice; bool isCanRemoteMaintenance; bool isCanRestart; OrganizationPatientTypeEnum patientType; DeviceExtendInfoDTO({ this.organizationName, this.departmentName, bool isOnline = false, this.isLiving = false, this.organizationDirectorCode, this.organizationDirectorUserName, this.organizationDirectorFullName, List? languageConfigs, this.isEmergencyDevice = false, this.isCanRemoteMaintenance = false, this.isCanRestart = false, this.patientType = OrganizationPatientTypeEnum.Person, String? deviceCode, String? serialNumber, String? password, String? name, String? description, String? deviceModel, String? deviceType, String? headPicUrl, String? deviceSoftwareVersion, String? sDKSoftwareVersion, String? organizationCode, String? departmentCode, String? shortCode, bool isAutoShared = false, bool isEncryptedShow = false, DateTime? lastLoginTime, String? systemVersion, String? cPUModel, String? systemLanguage, List? diagnosisModules, List? reportPosterCodes, bool mergedChannel = false, int mergedVideoOutputWidth = 0, int mergedVideoOutputHeight = 0, List? videoDeviceInfos, DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto, bool liveOpened = false, bool supportRtc = false, String? displayName, SonopostVersionEnum sonopostVersion = SonopostVersionEnum.Sonopost, List? deviceAttributes, bool isActive = false, String? upgradeVersionCode, DateTime? createTime, DateTime? updateTime, }) : super( deviceCode: deviceCode, serialNumber: serialNumber, password: password, name: name, description: description, deviceModel: deviceModel, deviceType: deviceType, headPicUrl: headPicUrl, deviceSoftwareVersion: deviceSoftwareVersion, sDKSoftwareVersion: sDKSoftwareVersion, organizationCode: organizationCode, departmentCode: departmentCode, shortCode: shortCode, isAutoShared: isAutoShared, isEncryptedShow: isEncryptedShow, lastLoginTime: lastLoginTime, systemVersion: systemVersion, cPUModel: cPUModel, systemLanguage: systemLanguage, diagnosisModules: diagnosisModules, reportPosterCodes: reportPosterCodes, mergedChannel: mergedChannel, mergedVideoOutputWidth: mergedVideoOutputWidth, mergedVideoOutputHeight: mergedVideoOutputHeight, videoDeviceInfos: videoDeviceInfos, downloadModeSetting: downloadModeSetting, liveOpened: liveOpened, supportRtc: supportRtc, displayName: displayName, sonopostVersion: sonopostVersion, deviceAttributes: deviceAttributes, isOnline: isOnline, isActive: isActive, languageConfigs: languageConfigs, upgradeVersionCode: upgradeVersionCode, createTime: createTime, updateTime: updateTime, ); factory DeviceExtendInfoDTO.fromJson(Map map) { return DeviceExtendInfoDTO( organizationName: map['OrganizationName'], departmentName: map['DepartmentName'], isOnline: map['IsOnline'], isLiving: map['IsLiving'], organizationDirectorCode: map['OrganizationDirectorCode'], organizationDirectorUserName: map['OrganizationDirectorUserName'], organizationDirectorFullName: map['OrganizationDirectorFullName'], languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map)).toList() : null, isEmergencyDevice: map['IsEmergencyDevice'], isCanRemoteMaintenance: map['IsCanRemoteMaintenance'], isCanRestart: map['IsCanRestart'], patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']), deviceCode: map['DeviceCode'], serialNumber: map['SerialNumber'], password: map['Password'], name: map['Name'], description: map['Description'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], headPicUrl: map['HeadPicUrl'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], shortCode: map['ShortCode'], isAutoShared: map['IsAutoShared'], isEncryptedShow: map['IsEncryptedShow'], lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null, systemVersion: map['SystemVersion'], cPUModel: map['CPUModel'], systemLanguage: map['SystemLanguage'], diagnosisModules: map['DiagnosisModules']?.cast().toList(), reportPosterCodes: map['ReportPosterCodes']?.cast().toList(), mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map)).toList() : null, downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']), liveOpened: map['LiveOpened'], supportRtc: map['SupportRtc'], displayName: map['DisplayName'], sonopostVersion: SonopostVersionEnum.values.firstWhere((e) => e.index == map['SonopostVersion']), deviceAttributes: map['DeviceAttributes'] != null ? (map['DeviceAttributes'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, isActive: map['IsActive'], upgradeVersionCode: map['UpgradeVersionCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (organizationName != null) map['OrganizationName'] = organizationName; if (departmentName != null) map['DepartmentName'] = departmentName; map['IsLiving'] = isLiving; if (organizationDirectorCode != null) map['OrganizationDirectorCode'] = organizationDirectorCode; if (organizationDirectorUserName != null) map['OrganizationDirectorUserName'] = organizationDirectorUserName; if (organizationDirectorFullName != null) map['OrganizationDirectorFullName'] = organizationDirectorFullName; map['IsEmergencyDevice'] = isEmergencyDevice; map['IsCanRemoteMaintenance'] = isCanRemoteMaintenance; map['IsCanRestart'] = isCanRestart; map['PatientType'] = patientType.index; return map; } } class PageCollection { int currentPage; int pageIndex; int pageSize; int dataCount; int totalCount; List? pageData; PageCollection({ this.currentPage = 0, this.pageIndex = 0, this.pageSize = 0, this.dataCount = 0, this.totalCount = 0, this.pageData, }); factory PageCollection.fromJson(Map map) { List pageDataList = []; if (map['PageData'] != null) { pageDataList.addAll( (map['PageData'] as List).map((e) => FJsonConvert.fromJson(e)!)); } return PageCollection( currentPage: map['CurrentPage'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], dataCount: map['DataCount'], totalCount: map['TotalCount'], pageData: pageDataList, ); } Map toJson() { final map = Map(); map['CurrentPage'] = currentPage; map['PageIndex'] = pageIndex; map['PageSize'] = pageSize; map['DataCount'] = dataCount; map['TotalCount'] = totalCount; if (pageData != null) { map['PageData'] = pageData; } return map; } } class GetPersonDeviceRequest extends PageRequest{ String? keyWord; String? deviceType; String? deviceModel; List? organizationCodes; bool? isOnline; GetPersonDeviceRequest({ this.keyWord, this.deviceType, this.deviceModel, this.organizationCodes, this.isOnline, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory GetPersonDeviceRequest.fromJson(Map map) { return GetPersonDeviceRequest( keyWord: map['KeyWord'], deviceType: map['DeviceType'], deviceModel: map['DeviceModel'], organizationCodes: map['OrganizationCodes']?.cast().toList(), isOnline: map['IsOnline'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyWord != null) map['KeyWord'] = keyWord; if (deviceType != null) map['DeviceType'] = deviceType; if (deviceModel != null) map['DeviceModel'] = deviceModel; if (organizationCodes != null) map['OrganizationCodes'] = organizationCodes; if (isOnline != null) map['IsOnline'] = isOnline; return map; } } class SelectItemDTO { String? key; String? value; String? language; SelectItemDTO({ this.key, this.value, this.language, }); factory SelectItemDTO.fromJson(Map map) { return SelectItemDTO( key: map['Key'], value: map['Value'], language: map['Language'], ); } Map toJson() { final map = Map(); if (key != null) { map['Key'] = key; } if (value != null) { map['Value'] = value; } if (language != null) { map['Language'] = language; } return map; } } class GetPersonDeviceDropdownPageRequest extends PageRequest{ String? keyWord; List? restrictOrgCodes; bool isIncloudReferral; GetPersonDeviceDropdownPageRequest({ this.keyWord, this.restrictOrgCodes, this.isIncloudReferral = false, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory GetPersonDeviceDropdownPageRequest.fromJson(Map map) { return GetPersonDeviceDropdownPageRequest( keyWord: map['KeyWord'], restrictOrgCodes: map['RestrictOrgCodes']?.cast().toList(), isIncloudReferral: map['IsIncloudReferral'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyWord != null) map['KeyWord'] = keyWord; if (restrictOrgCodes != null) map['RestrictOrgCodes'] = restrictOrgCodes; map['IsIncloudReferral'] = isIncloudReferral; return map; } } class UploadDeviceDTO extends BaseDTO{ String? serialNumber; String? deviceModel; String? deviceType; String? deviceSoftwareVersion; String? sDKSoftwareVersion; UploadDeviceDTO({ this.serialNumber, this.deviceModel, this.deviceType, this.deviceSoftwareVersion, this.sDKSoftwareVersion, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory UploadDeviceDTO.fromJson(Map map) { return UploadDeviceDTO( serialNumber: map['SerialNumber'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (serialNumber != null) map['SerialNumber'] = serialNumber; if (deviceModel != null) map['DeviceModel'] = deviceModel; if (deviceType != null) map['DeviceType'] = deviceType; if (deviceSoftwareVersion != null) map['DeviceSoftwareVersion'] = deviceSoftwareVersion; if (sDKSoftwareVersion != null) map['SDKSoftwareVersion'] = sDKSoftwareVersion; return map; } } class CreateDeviceRequest extends UploadDeviceDTO{ CreateDeviceRequest({ String? serialNumber, String? deviceModel, String? deviceType, String? deviceSoftwareVersion, String? sDKSoftwareVersion, DateTime? createTime, DateTime? updateTime, }) : super( serialNumber: serialNumber, deviceModel: deviceModel, deviceType: deviceType, deviceSoftwareVersion: deviceSoftwareVersion, sDKSoftwareVersion: sDKSoftwareVersion, createTime: createTime, updateTime: updateTime, ); factory CreateDeviceRequest.fromJson(Map map) { return CreateDeviceRequest( serialNumber: map['SerialNumber'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); return map; } } class FindDeviceInfoByNameRequest extends TokenRequest{ String? name; FindDeviceInfoByNameRequest({ this.name, String? token, }) : super( token: token, ); factory FindDeviceInfoByNameRequest.fromJson(Map map) { return FindDeviceInfoByNameRequest( name: map['Name'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (name != null) map['Name'] = name; return map; } } class GetDeviceByShortCodeRequest extends TokenRequest{ String? shortCode; GetDeviceByShortCodeRequest({ this.shortCode, String? token, }) : super( token: token, ); factory GetDeviceByShortCodeRequest.fromJson(Map map) { return GetDeviceByShortCodeRequest( shortCode: map['ShortCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (shortCode != null) map['ShortCode'] = shortCode; return map; } } class PageFilterRequest extends BaseRequest{ int currentPage; int pageSize; Map? filter; bool isFuzzy; PageFilterRequest({ this.currentPage = 0, this.pageSize = 0, this.filter, this.isFuzzy = false, }) : super( ); factory PageFilterRequest.fromJson(Map map) { return PageFilterRequest( currentPage: map['CurrentPage'], pageSize: map['PageSize'], filter: map['Filter']?.cast(), isFuzzy: map['IsFuzzy'], ); } Map toJson() { final map = super.toJson(); map['CurrentPage'] = currentPage; map['PageSize'] = pageSize; if (filter != null) map['Filter'] = filter; map['IsFuzzy'] = isFuzzy; return map; } } class BindDeviceRequest extends TokenRequest{ String? serialNumber; String? name; String? description; String? headPicUrl; String? organizationCode; String? departmentCode; String? shortCode; bool isAutoShared; BindDeviceRequest({ this.serialNumber, this.name, this.description, this.headPicUrl, this.organizationCode, this.departmentCode, this.shortCode, this.isAutoShared = false, String? token, }) : super( token: token, ); factory BindDeviceRequest.fromJson(Map map) { return BindDeviceRequest( serialNumber: map['SerialNumber'], name: map['Name'], description: map['Description'], headPicUrl: map['HeadPicUrl'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], shortCode: map['ShortCode'], isAutoShared: map['IsAutoShared'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (serialNumber != null) map['SerialNumber'] = serialNumber; if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (headPicUrl != null) map['HeadPicUrl'] = headPicUrl; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (departmentCode != null) map['DepartmentCode'] = departmentCode; if (shortCode != null) map['ShortCode'] = shortCode; map['IsAutoShared'] = isAutoShared; return map; } } class ModifyDeviceRequest extends TokenRequest{ String? deviceCode; String? name; String? headPicUrl; String? departmentCode; bool isAutoShared; String? description; ModifyDeviceRequest({ this.deviceCode, this.name, this.headPicUrl, this.departmentCode, this.isAutoShared = false, this.description, String? token, }) : super( token: token, ); factory ModifyDeviceRequest.fromJson(Map map) { return ModifyDeviceRequest( deviceCode: map['DeviceCode'], name: map['Name'], headPicUrl: map['HeadPicUrl'], departmentCode: map['DepartmentCode'], isAutoShared: map['IsAutoShared'], description: map['Description'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (name != null) map['Name'] = name; if (headPicUrl != null) map['HeadPicUrl'] = headPicUrl; if (departmentCode != null) map['DepartmentCode'] = departmentCode; map['IsAutoShared'] = isAutoShared; if (description != null) map['Description'] = description; return map; } } class UpdateDeviceRequest extends DeviceInfoDTO{ String? token; UpdateDeviceRequest({ this.token, String? deviceCode, String? serialNumber, String? password, String? name, String? description, String? deviceModel, String? deviceType, String? headPicUrl, String? deviceSoftwareVersion, String? sDKSoftwareVersion, String? organizationCode, String? departmentCode, String? shortCode, bool isAutoShared = false, bool isEncryptedShow = false, DateTime? lastLoginTime, String? systemVersion, String? cPUModel, String? systemLanguage, List? diagnosisModules, List? reportPosterCodes, bool mergedChannel = false, int mergedVideoOutputWidth = 0, int mergedVideoOutputHeight = 0, List? videoDeviceInfos, DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto, bool liveOpened = false, bool supportRtc = false, String? displayName, SonopostVersionEnum sonopostVersion = SonopostVersionEnum.Sonopost, List? deviceAttributes, bool isOnline = false, bool isActive = false, List? languageConfigs, String? upgradeVersionCode, DateTime? createTime, DateTime? updateTime, }) : super( deviceCode: deviceCode, serialNumber: serialNumber, password: password, name: name, description: description, deviceModel: deviceModel, deviceType: deviceType, headPicUrl: headPicUrl, deviceSoftwareVersion: deviceSoftwareVersion, sDKSoftwareVersion: sDKSoftwareVersion, organizationCode: organizationCode, departmentCode: departmentCode, shortCode: shortCode, isAutoShared: isAutoShared, isEncryptedShow: isEncryptedShow, lastLoginTime: lastLoginTime, systemVersion: systemVersion, cPUModel: cPUModel, systemLanguage: systemLanguage, diagnosisModules: diagnosisModules, reportPosterCodes: reportPosterCodes, mergedChannel: mergedChannel, mergedVideoOutputWidth: mergedVideoOutputWidth, mergedVideoOutputHeight: mergedVideoOutputHeight, videoDeviceInfos: videoDeviceInfos, downloadModeSetting: downloadModeSetting, liveOpened: liveOpened, supportRtc: supportRtc, displayName: displayName, sonopostVersion: sonopostVersion, deviceAttributes: deviceAttributes, isOnline: isOnline, isActive: isActive, languageConfigs: languageConfigs, upgradeVersionCode: upgradeVersionCode, createTime: createTime, updateTime: updateTime, ); factory UpdateDeviceRequest.fromJson(Map map) { return UpdateDeviceRequest( token: map['Token'], deviceCode: map['DeviceCode'], serialNumber: map['SerialNumber'], password: map['Password'], name: map['Name'], description: map['Description'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], headPicUrl: map['HeadPicUrl'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], shortCode: map['ShortCode'], isAutoShared: map['IsAutoShared'], isEncryptedShow: map['IsEncryptedShow'], lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null, systemVersion: map['SystemVersion'], cPUModel: map['CPUModel'], systemLanguage: map['SystemLanguage'], diagnosisModules: map['DiagnosisModules']?.cast().toList(), reportPosterCodes: map['ReportPosterCodes']?.cast().toList(), mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map)).toList() : null, downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']), liveOpened: map['LiveOpened'], supportRtc: map['SupportRtc'], displayName: map['DisplayName'], sonopostVersion: SonopostVersionEnum.values.firstWhere((e) => e.index == map['SonopostVersion']), deviceAttributes: map['DeviceAttributes'] != null ? (map['DeviceAttributes'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, isOnline: map['IsOnline'], isActive: map['IsActive'], languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map)).toList() : null, upgradeVersionCode: map['UpgradeVersionCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (token != null) map['Token'] = token; return map; } } enum DictionaryTypeEnum { DeviceModel, DeviceType, } class CreateDictionaryItemRequest extends TokenRequest{ DictionaryTypeEnum dictionaryType; String? dictionaryItemValue; String? parentCode; CreateDictionaryItemRequest({ this.dictionaryType = DictionaryTypeEnum.DeviceModel, this.dictionaryItemValue, this.parentCode, String? token, }) : super( token: token, ); factory CreateDictionaryItemRequest.fromJson(Map map) { return CreateDictionaryItemRequest( dictionaryType: DictionaryTypeEnum.values.firstWhere((e) => e.index == map['DictionaryType']), dictionaryItemValue: map['DictionaryItemValue'], parentCode: map['ParentCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['DictionaryType'] = dictionaryType.index; if (dictionaryItemValue != null) map['DictionaryItemValue'] = dictionaryItemValue; if (parentCode != null) map['ParentCode'] = parentCode; return map; } } class DictionaryDTO extends BaseDTO{ String? dictionaryCode; DictionaryTypeEnum dictionaryType; String? value; String? parentCode; List? languageConfigs; DictionaryDTO({ this.dictionaryCode, this.dictionaryType = DictionaryTypeEnum.DeviceModel, this.value, this.parentCode, this.languageConfigs, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DictionaryDTO.fromJson(Map map) { return DictionaryDTO( dictionaryCode: map['DictionaryCode'], dictionaryType: DictionaryTypeEnum.values.firstWhere((e) => e.index == map['DictionaryType']), value: map['Value'], parentCode: map['ParentCode'], languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map)).toList() : null, createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (dictionaryCode != null) map['DictionaryCode'] = dictionaryCode; map['DictionaryType'] = dictionaryType.index; if (value != null) map['Value'] = value; if (parentCode != null) map['ParentCode'] = parentCode; if (languageConfigs != null) map['LanguageConfigs'] = languageConfigs; return map; } } class FindDeviceModelItemsRequest extends TokenRequest{ DictionaryTypeEnum dictionaryType; String? deviceTypeCode; FindDeviceModelItemsRequest({ this.dictionaryType = DictionaryTypeEnum.DeviceModel, this.deviceTypeCode, String? token, }) : super( token: token, ); factory FindDeviceModelItemsRequest.fromJson(Map map) { return FindDeviceModelItemsRequest( dictionaryType: DictionaryTypeEnum.values.firstWhere((e) => e.index == map['DictionaryType']), deviceTypeCode: map['DeviceTypeCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['DictionaryType'] = dictionaryType.index; if (deviceTypeCode != null) map['DeviceTypeCode'] = deviceTypeCode; return map; } } class FindDeviceTypeItemsRequest extends TokenRequest{ DictionaryTypeEnum dictionaryType; FindDeviceTypeItemsRequest({ this.dictionaryType = DictionaryTypeEnum.DeviceModel, String? token, }) : super( token: token, ); factory FindDeviceTypeItemsRequest.fromJson(Map map) { return FindDeviceTypeItemsRequest( dictionaryType: DictionaryTypeEnum.values.firstWhere((e) => e.index == map['DictionaryType']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['DictionaryType'] = dictionaryType.index; return map; } } class CreateShareDeviceToUserRequest extends TokenRequest{ List? userCodes; String? deviceCode; CreateShareDeviceToUserRequest({ this.userCodes, this.deviceCode, String? token, }) : super( token: token, ); factory CreateShareDeviceToUserRequest.fromJson(Map map) { return CreateShareDeviceToUserRequest( userCodes: map['UserCodes']?.cast().toList(), deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCodes != null) map['UserCodes'] = userCodes; if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class DeleteShareDeviceToUserRequest extends TokenRequest{ List? userCodes; String? deviceCode; DeleteShareDeviceToUserRequest({ this.userCodes, this.deviceCode, String? token, }) : super( token: token, ); factory DeleteShareDeviceToUserRequest.fromJson(Map map) { return DeleteShareDeviceToUserRequest( userCodes: map['UserCodes']?.cast().toList(), deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCodes != null) map['UserCodes'] = userCodes; if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class RemoveDeviceRelevancyRequest extends TokenRequest{ String? organizationCode; String? departmentCode; String? deviceCode; RemoveDeviceRelevancyRequest({ this.organizationCode, this.departmentCode, this.deviceCode, String? token, }) : super( token: token, ); factory RemoveDeviceRelevancyRequest.fromJson(Map map) { return RemoveDeviceRelevancyRequest( organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (departmentCode != null) map['DepartmentCode'] = departmentCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class GetPersonRoleDeviceRequest extends PageRequest{ String? keyWord; String? deviceType; String? deviceModel; GetPersonRoleDeviceRequest({ this.keyWord, this.deviceType, this.deviceModel, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory GetPersonRoleDeviceRequest.fromJson(Map map) { return GetPersonRoleDeviceRequest( keyWord: map['KeyWord'], deviceType: map['DeviceType'], deviceModel: map['DeviceModel'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyWord != null) map['KeyWord'] = keyWord; if (deviceType != null) map['DeviceType'] = deviceType; if (deviceModel != null) map['DeviceModel'] = deviceModel; return map; } } class FindDevicesByOrganizationCodeRequest extends TokenRequest{ String? organizationCode; FindDevicesByOrganizationCodeRequest({ this.organizationCode, String? token, }) : super( token: token, ); factory FindDevicesByOrganizationCodeRequest.fromJson(Map map) { return FindDevicesByOrganizationCodeRequest( organizationCode: map['OrganizationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (organizationCode != null) map['OrganizationCode'] = organizationCode; return map; } } class DeviceServerSettingResult { Map? serverConfigList; bool isUploadThumbnail; OrganizationPatientTypeEnum patientType; int heartRateSeconds; String? notificationUrl; bool mergedChannel; int liveConsultationRateSeconds; int mergedVideoOutputWidth; int mergedVideoOutputHeight; bool isSelfRtcService; String? liveProtocol; TransactionStatusEnum liveProtocolType; String? fISWebUrl; int remoteControlHeartRateSeconds; DeviceServerSettingResult({ this.serverConfigList, this.isUploadThumbnail = false, this.patientType = OrganizationPatientTypeEnum.Person, this.heartRateSeconds = 0, this.notificationUrl, this.mergedChannel = false, this.liveConsultationRateSeconds = 0, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.isSelfRtcService = false, this.liveProtocol, this.liveProtocolType = TransactionStatusEnum.Applied, this.fISWebUrl, this.remoteControlHeartRateSeconds = 0, }); factory DeviceServerSettingResult.fromJson(Map map) { return DeviceServerSettingResult( serverConfigList: map['ServerConfigList']?.cast(), isUploadThumbnail: map['IsUploadThumbnail'], patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']), heartRateSeconds: map['HeartRateSeconds'], notificationUrl: map['NotificationUrl'], mergedChannel: map['MergedChannel'], liveConsultationRateSeconds: map['LiveConsultationRateSeconds'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], isSelfRtcService: map['IsSelfRtcService'], liveProtocol: map['LiveProtocol'], liveProtocolType: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocolType']), fISWebUrl: map['FISWebUrl'], remoteControlHeartRateSeconds: map['RemoteControlHeartRateSeconds'], ); } Map toJson() { final map = Map(); if (serverConfigList != null) { map['ServerConfigList'] = serverConfigList; } map['IsUploadThumbnail'] = isUploadThumbnail; map['PatientType'] = patientType.index; map['HeartRateSeconds'] = heartRateSeconds; if (notificationUrl != null) { map['NotificationUrl'] = notificationUrl; } map['MergedChannel'] = mergedChannel; map['LiveConsultationRateSeconds'] = liveConsultationRateSeconds; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; map['IsSelfRtcService'] = isSelfRtcService; if (liveProtocol != null) { map['LiveProtocol'] = liveProtocol; } map['LiveProtocolType'] = liveProtocolType.index; if (fISWebUrl != null) { map['FISWebUrl'] = fISWebUrl; } map['RemoteControlHeartRateSeconds'] = remoteControlHeartRateSeconds; return map; } } class AddDeviceToOrgRequest extends TokenRequest{ String? uniqueCode; AddDeviceToOrgRequest({ this.uniqueCode, String? token, }) : super( token: token, ); factory AddDeviceToOrgRequest.fromJson(Map map) { return AddDeviceToOrgRequest( uniqueCode: map['UniqueCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (uniqueCode != null) map['UniqueCode'] = uniqueCode; return map; } } class DiagnosisModuleDTO extends BaseDTO{ String? diagnosisModuleCode; String? diagnosisModule; bool enabled; DiagnosisModuleDTO({ this.diagnosisModuleCode, this.diagnosisModule, this.enabled = false, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DiagnosisModuleDTO.fromJson(Map map) { return DiagnosisModuleDTO( diagnosisModuleCode: map['DiagnosisModuleCode'], diagnosisModule: map['DiagnosisModule'], enabled: map['Enabled'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (diagnosisModuleCode != null) map['DiagnosisModuleCode'] = diagnosisModuleCode; if (diagnosisModule != null) map['DiagnosisModule'] = diagnosisModule; map['Enabled'] = enabled; return map; } } class FindDeviceDiagnosisModulesRequest extends TokenRequest{ String? deviceCode; FindDeviceDiagnosisModulesRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory FindDeviceDiagnosisModulesRequest.fromJson(Map map) { return FindDeviceDiagnosisModulesRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class ModifyDeviceDiagnosisModuleStateRequest extends TokenRequest{ String? deviceCode; String? diagnosisModule; bool enabled; ModifyDeviceDiagnosisModuleStateRequest({ this.deviceCode, this.diagnosisModule, this.enabled = false, String? token, }) : super( token: token, ); factory ModifyDeviceDiagnosisModuleStateRequest.fromJson(Map map) { return ModifyDeviceDiagnosisModuleStateRequest( deviceCode: map['DeviceCode'], diagnosisModule: map['DiagnosisModule'], enabled: map['Enabled'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (diagnosisModule != null) map['DiagnosisModule'] = diagnosisModule; map['Enabled'] = enabled; return map; } } class ReportVideoDeviceInfoResult { bool success; List? videoDeviceOutputInfos; ReportVideoDeviceInfoResult({ this.success = false, this.videoDeviceOutputInfos, }); factory ReportVideoDeviceInfoResult.fromJson(Map map) { return ReportVideoDeviceInfoResult( success: map['Success'], videoDeviceOutputInfos: map['VideoDeviceOutputInfos'] != null ? (map['VideoDeviceOutputInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); map['Success'] = success; if (videoDeviceOutputInfos != null) { map['VideoDeviceOutputInfos'] = videoDeviceOutputInfos; } return map; } } class VideoDeviceInfo { String? videoDeviceId; VideoDeviceSourceTypeEnum videoDeviceSourceType; int width; int height; int videoFps; int videoBitrate; int minVideoBitrate; VideoDeviceInfo({ this.videoDeviceId, this.videoDeviceSourceType = VideoDeviceSourceTypeEnum.Desktop, this.width = 0, this.height = 0, this.videoFps = 0, this.videoBitrate = 0, this.minVideoBitrate = 0, }); factory VideoDeviceInfo.fromJson(Map map) { return VideoDeviceInfo( videoDeviceId: map['VideoDeviceId'], videoDeviceSourceType: VideoDeviceSourceTypeEnum.values.firstWhere((e) => e.index == map['VideoDeviceSourceType']), width: map['Width'], height: map['Height'], videoFps: map['VideoFps'], videoBitrate: map['VideoBitrate'], minVideoBitrate: map['MinVideoBitrate'], ); } Map toJson() { final map = Map(); if (videoDeviceId != null) { map['VideoDeviceId'] = videoDeviceId; } map['VideoDeviceSourceType'] = videoDeviceSourceType.index; map['Width'] = width; map['Height'] = height; map['VideoFps'] = videoFps; map['VideoBitrate'] = videoBitrate; map['MinVideoBitrate'] = minVideoBitrate; return map; } } class ReportVideoDeviceInfoRequest extends TokenRequest{ bool liveOpened; bool supportRtc; bool mergedChannel; bool remoteControlOpened; List? videoDeviceInfos; bool isSync; ReportVideoDeviceInfoRequest({ this.liveOpened = false, this.supportRtc = false, this.mergedChannel = false, this.remoteControlOpened = false, this.videoDeviceInfos, this.isSync = false, String? token, }) : super( token: token, ); factory ReportVideoDeviceInfoRequest.fromJson(Map map) { return ReportVideoDeviceInfoRequest( liveOpened: map['LiveOpened'], supportRtc: map['SupportRtc'], mergedChannel: map['MergedChannel'], remoteControlOpened: map['RemoteControlOpened'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfo.fromJson(e as Map)).toList() : null, isSync: map['IsSync'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['LiveOpened'] = liveOpened; map['SupportRtc'] = supportRtc; map['MergedChannel'] = mergedChannel; map['RemoteControlOpened'] = remoteControlOpened; if (videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; map['IsSync'] = isSync; return map; } } class ProbeInfoDTO { String? name; List? applications; List? applicationInfos; ProbeInfoDTO({ this.name, this.applications, this.applicationInfos, }); factory ProbeInfoDTO.fromJson(Map map) { return ProbeInfoDTO( name: map['Name'], applications: map['Applications']?.cast().toList(), applicationInfos: map['ApplicationInfos'] != null ? (map['ApplicationInfos'] as List).map((e)=>ApplicationSettingInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (name != null) { map['Name'] = name; } if (applications != null) { map['Applications'] = applications; } if (applicationInfos != null) { map['ApplicationInfos'] = applicationInfos; } return map; } } class ProbeApplicationInfoDTO { List? probes; String? activeProbe; String? activeApplication; ProbeApplicationInfoDTO({ this.probes, this.activeProbe, this.activeApplication, }); factory ProbeApplicationInfoDTO.fromJson(Map map) { return ProbeApplicationInfoDTO( probes: map['Probes'] != null ? (map['Probes'] as List).map((e)=>ProbeInfoDTO.fromJson(e as Map)).toList() : null, activeProbe: map['ActiveProbe'], activeApplication: map['ActiveApplication'], ); } Map toJson() { final map = Map(); if (probes != null) { map['Probes'] = probes; } if (activeProbe != null) { map['ActiveProbe'] = activeProbe; } if (activeApplication != null) { map['ActiveApplication'] = activeApplication; } return map; } } class ControlParameterDTO { bool canExecute; List? children; String? description; String? displayValue; String? parentDescription; String? valuesMapString; ControlParameterDTO({ this.canExecute = false, this.children, this.description, this.displayValue, this.parentDescription, this.valuesMapString, }); factory ControlParameterDTO.fromJson(Map map) { return ControlParameterDTO( canExecute: map['CanExecute'], children: map['Children'] != null ? (map['Children'] as List).map((e)=>ControlParameterDTO.fromJson(e as Map)).toList() : null, description: map['Description'], displayValue: map['DisplayValue'], parentDescription: map['ParentDescription'], valuesMapString: map['ValuesMapString'], ); } Map toJson() { final map = Map(); map['CanExecute'] = canExecute; if (children != null) { map['Children'] = children; } if (description != null) { map['Description'] = description; } if (displayValue != null) { map['DisplayValue'] = displayValue; } if (parentDescription != null) { map['ParentDescription'] = parentDescription; } if (valuesMapString != null) { map['ValuesMapString'] = valuesMapString; } return map; } } class SendControlParameterByDeviceRequest extends TokenRequest{ String? controlUserCode; ProbeApplicationInfoDTO? probeApplication; ControlParameterDTO? parameter; SendControlParameterByDeviceRequest({ this.controlUserCode, this.probeApplication, this.parameter, String? token, }) : super( token: token, ); factory SendControlParameterByDeviceRequest.fromJson(Map map) { return SendControlParameterByDeviceRequest( controlUserCode: map['ControlUserCode'], probeApplication: map['ProbeApplication'] != null ? ProbeApplicationInfoDTO.fromJson(map['ProbeApplication']) : null, parameter: map['Parameter'] != null ? ControlParameterDTO.fromJson(map['Parameter']) : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (controlUserCode != null) map['ControlUserCode'] = controlUserCode; if (probeApplication != null) map['ProbeApplication'] = probeApplication; if (parameter != null) map['Parameter'] = parameter; return map; } } class VideoDeviceInfoDTO { String? videoDeviceId; VideoDeviceSourceTypeEnum videoDeviceSourceType; LiveDataDTO? liveData; VideoDeviceInfoDTO({ this.videoDeviceId, this.videoDeviceSourceType = VideoDeviceSourceTypeEnum.Desktop, this.liveData, }); factory VideoDeviceInfoDTO.fromJson(Map map) { return VideoDeviceInfoDTO( videoDeviceId: map['VideoDeviceId'], videoDeviceSourceType: VideoDeviceSourceTypeEnum.values.firstWhere((e) => e.index == map['VideoDeviceSourceType']), liveData: map['LiveData'] != null ? LiveDataDTO.fromJson(map['LiveData']) : null, ); } Map toJson() { final map = Map(); if (videoDeviceId != null) { map['VideoDeviceId'] = videoDeviceId; } map['VideoDeviceSourceType'] = videoDeviceSourceType.index; if (liveData != null) { map['LiveData'] = liveData; } return map; } } class JoinDeviceLiveRoomResult extends TokenRequest{ int roomNo; TransactionStatusEnum liveProtocol; String? deviceCode; bool mergedChannel; int mergedVideoOutputWidth; int mergedVideoOutputHeight; List? videoDeviceInfos; int reportStateIntervalSeconds; bool isOldPlatform; bool supportRtc; JoinDeviceLiveRoomResult({ this.roomNo = 0, this.liveProtocol = TransactionStatusEnum.Applied, this.deviceCode, this.mergedChannel = false, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.videoDeviceInfos, this.reportStateIntervalSeconds = 0, this.isOldPlatform = false, this.supportRtc = false, String? token, }) : super( token: token, ); factory JoinDeviceLiveRoomResult.fromJson(Map map) { return JoinDeviceLiveRoomResult( roomNo: map['RoomNo'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), deviceCode: map['DeviceCode'], mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfoDTO.fromJson(e as Map)).toList() : null, reportStateIntervalSeconds: map['ReportStateIntervalSeconds'], isOldPlatform: map['IsOldPlatform'], supportRtc: map['SupportRtc'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['RoomNo'] = roomNo; map['LiveProtocol'] = liveProtocol.index; if (deviceCode != null) map['DeviceCode'] = deviceCode; map['MergedChannel'] = mergedChannel; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; if (videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds; map['IsOldPlatform'] = isOldPlatform; map['SupportRtc'] = supportRtc; return map; } } class JoinDeviceLiveRoomRequest extends TokenRequest{ String? deviceCode; JoinDeviceLiveRoomRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory JoinDeviceLiveRoomRequest.fromJson(Map map) { return JoinDeviceLiveRoomRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class LeaveDeviceLiveRoomRequest extends TokenRequest{ String? deviceCode; LeaveDeviceLiveRoomRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory LeaveDeviceLiveRoomRequest.fromJson(Map map) { return LeaveDeviceLiveRoomRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class ReportLiveViewStateRequest extends TokenRequest{ String? deviceCode; ReportLiveViewStateRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory ReportLiveViewStateRequest.fromJson(Map map) { return ReportLiveViewStateRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class CreateLiveShareInfoResult extends TokenRequest{ String? shareUrl; CreateLiveShareInfoResult({ this.shareUrl, String? token, }) : super( token: token, ); factory CreateLiveShareInfoResult.fromJson(Map map) { return CreateLiveShareInfoResult( shareUrl: map['ShareUrl'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (shareUrl != null) map['ShareUrl'] = shareUrl; return map; } } class CreateLiveShareInfoRequest extends TokenRequest{ String? deviceCode; CreateLiveShareInfoRequest({ this.deviceCode, String? token, }) : super( token: token, ); factory CreateLiveShareInfoRequest.fromJson(Map map) { return CreateLiveShareInfoRequest( deviceCode: map['DeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class JoinDeviceLiveRoomByShareResult { int roomNo; TransactionStatusEnum liveProtocol; String? deviceCode; bool mergedChannel; int mergedVideoOutputWidth; int mergedVideoOutputHeight; List? videoDeviceInfos; int reportStateIntervalSeconds; bool isOldPlatform; bool supportRtc; JoinDeviceLiveRoomByShareResult({ this.roomNo = 0, this.liveProtocol = TransactionStatusEnum.Applied, this.deviceCode, this.mergedChannel = false, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.videoDeviceInfos, this.reportStateIntervalSeconds = 0, this.isOldPlatform = false, this.supportRtc = false, }); factory JoinDeviceLiveRoomByShareResult.fromJson(Map map) { return JoinDeviceLiveRoomByShareResult( roomNo: map['RoomNo'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), deviceCode: map['DeviceCode'], mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfoDTO.fromJson(e as Map)).toList() : null, reportStateIntervalSeconds: map['ReportStateIntervalSeconds'], isOldPlatform: map['IsOldPlatform'], supportRtc: map['SupportRtc'], ); } Map toJson() { final map = Map(); map['RoomNo'] = roomNo; map['LiveProtocol'] = liveProtocol.index; if (deviceCode != null) { map['DeviceCode'] = deviceCode; } map['MergedChannel'] = mergedChannel; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; if (videoDeviceInfos != null) { map['VideoDeviceInfos'] = videoDeviceInfos; } map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds; map['IsOldPlatform'] = isOldPlatform; map['SupportRtc'] = supportRtc; return map; } } class JoinDeviceLiveRoomByShareRequest { String? shareCode; JoinDeviceLiveRoomByShareRequest({ this.shareCode, }); factory JoinDeviceLiveRoomByShareRequest.fromJson(Map map) { return JoinDeviceLiveRoomByShareRequest( shareCode: map['ShareCode'], ); } Map toJson() { final map = Map(); if (shareCode != null) { map['ShareCode'] = shareCode; } return map; } } class LeaveDeviceLiveRoomByShareRequest { String? deviceCode; String? viewerUniqueId; LeaveDeviceLiveRoomByShareRequest({ this.deviceCode, this.viewerUniqueId, }); factory LeaveDeviceLiveRoomByShareRequest.fromJson(Map map) { return LeaveDeviceLiveRoomByShareRequest( deviceCode: map['DeviceCode'], viewerUniqueId: map['ViewerUniqueId'], ); } Map toJson() { final map = Map(); if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (viewerUniqueId != null) { map['ViewerUniqueId'] = viewerUniqueId; } return map; } } class ReportLiveViewStateByShareRequest { String? deviceCode; String? viewerUniqueId; ReportLiveViewStateByShareRequest({ this.deviceCode, this.viewerUniqueId, }); factory ReportLiveViewStateByShareRequest.fromJson(Map map) { return ReportLiveViewStateByShareRequest( deviceCode: map['DeviceCode'], viewerUniqueId: map['ViewerUniqueId'], ); } Map toJson() { final map = Map(); if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (viewerUniqueId != null) { map['ViewerUniqueId'] = viewerUniqueId; } return map; } } enum DeviceLiveStateEnum { Default, Pushing, Closed, Error, Warning, } class ReportLiveStateRequest extends TokenRequest{ int roomNo; DeviceLiveStateEnum liveState; String? message; ReportLiveStateRequest({ this.roomNo = 0, this.liveState = DeviceLiveStateEnum.Default, this.message, String? token, }) : super( token: token, ); factory ReportLiveStateRequest.fromJson(Map map) { return ReportLiveStateRequest( roomNo: map['RoomNo'], liveState: DeviceLiveStateEnum.values.firstWhere((e) => e.index == map['LiveState']), message: map['Message'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['RoomNo'] = roomNo; map['LiveState'] = liveState.index; if (message != null) map['Message'] = message; return map; } } class CreateLiveRoomInfoResult { String? userCode; String? userSign; int roomNo; int appId; bool isTrtc; TransactionStatusEnum liveProtocol; LiveDataDTO? liveData; CreateLiveRoomInfoResult({ this.userCode, this.userSign, this.roomNo = 0, this.appId = 0, this.isTrtc = false, this.liveProtocol = TransactionStatusEnum.Applied, this.liveData, }); factory CreateLiveRoomInfoResult.fromJson(Map map) { return CreateLiveRoomInfoResult( userCode: map['UserCode'], userSign: map['UserSign'], roomNo: map['RoomNo'], appId: map['AppId'], isTrtc: map['IsTrtc'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), liveData: map['LiveData'] != null ? LiveDataDTO.fromJson(map['LiveData']) : null, ); } Map toJson() { final map = Map(); if (userCode != null) { map['UserCode'] = userCode; } if (userSign != null) { map['UserSign'] = userSign; } map['RoomNo'] = roomNo; map['AppId'] = appId; map['IsTrtc'] = isTrtc; map['LiveProtocol'] = liveProtocol.index; if (liveData != null) { map['LiveData'] = liveData; } return map; } } class CreateLiveRoomInfoRequest { String? deviceUniqueCode; String? deviceModel; String? deviceType; String? softwareVersion; CreateLiveRoomInfoRequest({ this.deviceUniqueCode, this.deviceModel, this.deviceType, this.softwareVersion, }); factory CreateLiveRoomInfoRequest.fromJson(Map map) { return CreateLiveRoomInfoRequest( deviceUniqueCode: map['DeviceUniqueCode'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], softwareVersion: map['SoftwareVersion'], ); } Map toJson() { final map = Map(); if (deviceUniqueCode != null) { map['DeviceUniqueCode'] = deviceUniqueCode; } if (deviceModel != null) { map['DeviceModel'] = deviceModel; } if (deviceType != null) { map['DeviceType'] = deviceType; } if (softwareVersion != null) { map['SoftwareVersion'] = softwareVersion; } return map; } } class UploadConsultationDataRequest extends TokenRequest{ String? consultationCode; String? previewFileToken; String? fileToken; int fileSize; String? coverImageToken; String? applicationCategory; String? application; RemedicalFileDataTypeEnum fileDataType; MeasuredResultsDTO? measuredResult; ScanImageDTO? commentResult; UploadConsultationDataRequest({ this.consultationCode, this.previewFileToken, this.fileToken, this.fileSize = 0, this.coverImageToken, this.applicationCategory, this.application, this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle, this.measuredResult, this.commentResult, String? token, }) : super( token: token, ); factory UploadConsultationDataRequest.fromJson(Map map) { return UploadConsultationDataRequest( consultationCode: map['ConsultationCode'], previewFileToken: map['PreviewFileToken'], fileToken: map['FileToken'], fileSize: map['FileSize'], coverImageToken: map['CoverImageToken'], applicationCategory: map['ApplicationCategory'], application: map['Application'], fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']), measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null, commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (previewFileToken != null) map['PreviewFileToken'] = previewFileToken; if (fileToken != null) map['FileToken'] = fileToken; map['FileSize'] = fileSize; if (coverImageToken != null) map['CoverImageToken'] = coverImageToken; if (applicationCategory != null) map['ApplicationCategory'] = applicationCategory; if (application != null) map['Application'] = application; map['FileDataType'] = fileDataType.index; if (measuredResult != null) map['MeasuredResult'] = measuredResult; if (commentResult != null) map['CommentResult'] = commentResult; return map; } } class DeviceControlParameterDataDTO { String? deviceCode; String? probeApplication; String? parameter; DeviceControlParameterDataDTO({ this.deviceCode, this.probeApplication, this.parameter, }); factory DeviceControlParameterDataDTO.fromJson(Map map) { return DeviceControlParameterDataDTO( deviceCode: map['DeviceCode'], probeApplication: map['ProbeApplication'], parameter: map['Parameter'], ); } Map toJson() { final map = Map(); if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (probeApplication != null) { map['ProbeApplication'] = probeApplication; } if (parameter != null) { map['Parameter'] = parameter; } return map; } } class ControlDeviceConnectRequest extends BaseControlDeviceRequest{ String? deviceCode; String? roomCode; ControlDeviceConnectRequest({ this.deviceCode, this.roomCode, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, bool isNeedSyn = false, String? token, }) : super( controlType: controlType, isNeedSyn: isNeedSyn, token: token, ); factory ControlDeviceConnectRequest.fromJson(Map map) { return ControlDeviceConnectRequest( deviceCode: map['DeviceCode'], roomCode: map['RoomCode'], controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (roomCode != null) map['RoomCode'] = roomCode; return map; } } class ControlDeviceParameterRequest extends BaseControlDeviceParameterRequest{ String? deviceCode; String? consultationCode; ControlDeviceParameterRequest({ this.deviceCode, this.consultationCode, List? parameters, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, bool isNeedSyn = false, String? token, }) : super( parameters: parameters, controlType: controlType, isNeedSyn: isNeedSyn, token: token, ); factory ControlDeviceParameterRequest.fromJson(Map map) { return ControlDeviceParameterRequest( deviceCode: map['DeviceCode'], consultationCode: map['ConsultationCode'], parameters: map['Parameters'] != null ? (map['Parameters'] as List).map((e)=>AdditionParameterDTO.fromJson(e as Map)).toList() : null, controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } enum LogTimeEnum { All, Today, OneWeek, OneMonth, OneYear, } class GetRemoteLogRequest extends TokenRequest{ String? deviceCode; LogTimeEnum logTime; GetRemoteLogRequest({ this.deviceCode, this.logTime = LogTimeEnum.All, String? token, }) : super( token: token, ); factory GetRemoteLogRequest.fromJson(Map map) { return GetRemoteLogRequest( deviceCode: map['DeviceCode'], logTime: LogTimeEnum.values.firstWhere((e) => e.index == map['LogTime']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; map['LogTime'] = logTime.index; return map; } } class RemoteLogResponseRequest extends TokenRequest{ String? userCode; String? logFileToken; int rate; RemoteDeviceStateEnum remoteDeviceState; RemoteLogResponseRequest({ this.userCode, this.logFileToken, this.rate = 0, this.remoteDeviceState = RemoteDeviceStateEnum.Unknown, String? token, }) : super( token: token, ); factory RemoteLogResponseRequest.fromJson(Map map) { return RemoteLogResponseRequest( userCode: map['UserCode'], logFileToken: map['LogFileToken'], rate: map['Rate'], remoteDeviceState: RemoteDeviceStateEnum.values.firstWhere((e) => e.index == map['RemoteDeviceState']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; if (logFileToken != null) map['LogFileToken'] = logFileToken; map['Rate'] = rate; map['RemoteDeviceState'] = remoteDeviceState.index; return map; } } class ScanBindDeviceRequest extends TokenRequest{ String? shortCode; String? headPicUrl; String? description; ScanBindDeviceRequest({ this.shortCode, this.headPicUrl, this.description, String? token, }) : super( token: token, ); factory ScanBindDeviceRequest.fromJson(Map map) { return ScanBindDeviceRequest( shortCode: map['ShortCode'], headPicUrl: map['HeadPicUrl'], description: map['Description'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (shortCode != null) map['ShortCode'] = shortCode; if (headPicUrl != null) map['HeadPicUrl'] = headPicUrl; if (description != null) map['Description'] = description; return map; } } class ReportBrandModelOutputConfigRequest extends TokenRequest{ String? brand; String? model; String? shortCode; int videoWidth; int videoHeight; ReportBrandModelOutputConfigRequest({ this.brand, this.model, this.shortCode, this.videoWidth = 0, this.videoHeight = 0, String? token, }) : super( token: token, ); factory ReportBrandModelOutputConfigRequest.fromJson(Map map) { return ReportBrandModelOutputConfigRequest( brand: map['Brand'], model: map['Model'], shortCode: map['ShortCode'], videoWidth: map['VideoWidth'], videoHeight: map['VideoHeight'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (brand != null) map['Brand'] = brand; if (model != null) map['Model'] = model; if (shortCode != null) map['ShortCode'] = shortCode; map['VideoWidth'] = videoWidth; map['VideoHeight'] = videoHeight; return map; } } class BrandModelOutputConfigDTO { bool isSelect; int videoWidth; int videoHeight; BrandModelOutputConfigDTO({ this.isSelect = false, this.videoWidth = 0, this.videoHeight = 0, }); factory BrandModelOutputConfigDTO.fromJson(Map map) { return BrandModelOutputConfigDTO( isSelect: map['IsSelect'], videoWidth: map['VideoWidth'], videoHeight: map['VideoHeight'], ); } Map toJson() { final map = Map(); map['IsSelect'] = isSelect; map['VideoWidth'] = videoWidth; map['VideoHeight'] = videoHeight; return map; } } class SyncBrandModelOutputConfigRequest extends TokenRequest{ String? brand; String? model; String? shortCode; SyncBrandModelOutputConfigRequest({ this.brand, this.model, this.shortCode, String? token, }) : super( token: token, ); factory SyncBrandModelOutputConfigRequest.fromJson(Map map) { return SyncBrandModelOutputConfigRequest( brand: map['Brand'], model: map['Model'], shortCode: map['ShortCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (brand != null) map['Brand'] = brand; if (model != null) map['Model'] = model; if (shortCode != null) map['ShortCode'] = shortCode; return map; } } class GetBrandsRequest extends TokenRequest{ GetBrandsRequest({ String? token, }) : super( token: token, ); factory GetBrandsRequest.fromJson(Map map) { return GetBrandsRequest( token: map['Token'], ); } Map toJson() { final map = super.toJson(); return map; } } class GetModelsRequest extends TokenRequest{ String? brand; GetModelsRequest({ this.brand, String? token, }) : super( token: token, ); factory GetModelsRequest.fromJson(Map map) { return GetModelsRequest( brand: map['Brand'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (brand != null) map['Brand'] = brand; return map; } } class AddDevicePatchRequest extends TokenRequest{ String? name; String? description; String? deviceType; String? softwareVersion; String? osVersion; List? fileUploadInfoList; int fileSize; String? fileName; AddDevicePatchRequest({ this.name, this.description, this.deviceType, this.softwareVersion, this.osVersion, this.fileUploadInfoList, this.fileSize = 0, this.fileName, String? token, }) : super( token: token, ); factory AddDevicePatchRequest.fromJson(Map map) { return AddDevicePatchRequest( name: map['Name'], description: map['Description'], deviceType: map['DeviceType'], softwareVersion: map['SoftwareVersion'], osVersion: map['OsVersion'], fileUploadInfoList: map['FileUploadInfoList'] != null ? (map['FileUploadInfoList'] as List).map((e)=>UploadDeviceFileInfoDTO.fromJson(e as Map)).toList() : null, fileSize: map['FileSize'], fileName: map['FileName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (deviceType != null) map['DeviceType'] = deviceType; if (softwareVersion != null) map['SoftwareVersion'] = softwareVersion; if (osVersion != null) map['OsVersion'] = osVersion; if (fileUploadInfoList != null) map['FileUploadInfoList'] = fileUploadInfoList; map['FileSize'] = fileSize; if (fileName != null) map['FileName'] = fileName; return map; } } class FindDevicePatchPageRequest extends PageRequest{ String? keyword; FindDevicePatchPageRequest({ this.keyword, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindDevicePatchPageRequest.fromJson(Map map) { return FindDevicePatchPageRequest( keyword: map['Keyword'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyword != null) map['Keyword'] = keyword; return map; } } class DeleteDevicePatchByCodeRequest extends TokenRequest{ String? code; DeleteDevicePatchByCodeRequest({ this.code, String? token, }) : super( token: token, ); factory DeleteDevicePatchByCodeRequest.fromJson(Map map) { return DeleteDevicePatchByCodeRequest( code: map['Code'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; return map; } } class UpdateDevicePatchRequest extends TokenRequest{ String? code; String? name; String? description; String? softwareVersion; String? osVersion; UpdateDevicePatchRequest({ this.code, this.name, this.description, this.softwareVersion, this.osVersion, String? token, }) : super( token: token, ); factory UpdateDevicePatchRequest.fromJson(Map map) { return UpdateDevicePatchRequest( code: map['Code'], name: map['Name'], description: map['Description'], softwareVersion: map['SoftwareVersion'], osVersion: map['OsVersion'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (softwareVersion != null) map['SoftwareVersion'] = softwareVersion; if (osVersion != null) map['OsVersion'] = osVersion; return map; } } class PushDevicePatchRequest extends TokenRequest{ String? deviceCode; String? patchCode; PushDevicePatchEnum pushEnum; PushDevicePatchRequest({ this.deviceCode, this.patchCode, this.pushEnum = PushDevicePatchEnum.Start, String? token, }) : super( token: token, ); factory PushDevicePatchRequest.fromJson(Map map) { return PushDevicePatchRequest( deviceCode: map['DeviceCode'], patchCode: map['PatchCode'], pushEnum: PushDevicePatchEnum.values.firstWhere((e) => e.index == map['PushEnum']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (patchCode != null) map['PatchCode'] = patchCode; map['PushEnum'] = pushEnum.index; return map; } } class FindPushDevicePatchPageRequest extends PageRequest{ String? keyword; String? deviceCode; List? findOnlyDeviceTypes; FindPushDevicePatchPageRequest({ this.keyword, this.deviceCode, this.findOnlyDeviceTypes, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindPushDevicePatchPageRequest.fromJson(Map map) { return FindPushDevicePatchPageRequest( keyword: map['Keyword'], deviceCode: map['DeviceCode'], findOnlyDeviceTypes: map['FindOnlyDeviceTypes']?.cast().toList(), pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyword != null) map['Keyword'] = keyword; if (deviceCode != null) map['DeviceCode'] = deviceCode; if (findOnlyDeviceTypes != null) map['FindOnlyDeviceTypes'] = findOnlyDeviceTypes; return map; } } class UploadDeviceDownloadPatchProgressToUserRequest extends TokenRequest{ int progress; String? userCode; String? patchCode; RemoteDeviceStateEnum remoteDeviceState; UploadDeviceDownloadPatchProgressToUserRequest({ this.progress = 0, this.userCode, this.patchCode, this.remoteDeviceState = RemoteDeviceStateEnum.Unknown, String? token, }) : super( token: token, ); factory UploadDeviceDownloadPatchProgressToUserRequest.fromJson(Map map) { return UploadDeviceDownloadPatchProgressToUserRequest( progress: map['Progress'], userCode: map['UserCode'], patchCode: map['PatchCode'], remoteDeviceState: RemoteDeviceStateEnum.values.firstWhere((e) => e.index == map['RemoteDeviceState']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['Progress'] = progress; if (userCode != null) map['UserCode'] = userCode; if (patchCode != null) map['PatchCode'] = patchCode; map['RemoteDeviceState'] = remoteDeviceState.index; return map; } } enum DeviceVersionEnum { All, SoftwareVersion, OsVersion, } class AddDevicePatchVersionRequest extends TokenRequest{ String? version; DeviceVersionEnum versionTypeEnum; String? deviceType; AddDevicePatchVersionRequest({ this.version, this.versionTypeEnum = DeviceVersionEnum.All, this.deviceType, String? token, }) : super( token: token, ); factory AddDevicePatchVersionRequest.fromJson(Map map) { return AddDevicePatchVersionRequest( version: map['Version'], versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), deviceType: map['DeviceType'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (version != null) map['Version'] = version; map['VersionTypeEnum'] = versionTypeEnum.index; if (deviceType != null) map['DeviceType'] = deviceType; return map; } } class DevicePatchVersionDTO extends BaseDTO{ String? version; DeviceVersionEnum versionTypeEnum; String? deviceType; String? code; DevicePatchVersionDTO({ this.version, this.versionTypeEnum = DeviceVersionEnum.All, this.deviceType, this.code, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DevicePatchVersionDTO.fromJson(Map map) { return DevicePatchVersionDTO( version: map['Version'], versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), deviceType: map['DeviceType'], code: map['Code'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (version != null) map['Version'] = version; map['VersionTypeEnum'] = versionTypeEnum.index; if (deviceType != null) map['DeviceType'] = deviceType; if (code != null) map['Code'] = code; return map; } } class FindDevicePatchListRequest extends TokenRequest{ String? deviceType; DeviceVersionEnum versionTypeEnum; FindDevicePatchListRequest({ this.deviceType, this.versionTypeEnum = DeviceVersionEnum.All, String? token, }) : super( token: token, ); factory FindDevicePatchListRequest.fromJson(Map map) { return FindDevicePatchListRequest( deviceType: map['DeviceType'], versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceType != null) map['DeviceType'] = deviceType; map['VersionTypeEnum'] = versionTypeEnum.index; return map; } } class DeleteDevicePatchVersionRequest extends TokenRequest{ String? code; DeleteDevicePatchVersionRequest({ this.code, String? token, }) : super( token: token, ); factory DeleteDevicePatchVersionRequest.fromJson(Map map) { return DeleteDevicePatchVersionRequest( code: map['Code'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; return map; } } class AddDevicePrinterVersionRequest extends TokenRequest{ String? version; DeviceVersionEnum versionTypeEnum; AddDevicePrinterVersionRequest({ this.version, this.versionTypeEnum = DeviceVersionEnum.All, String? token, }) : super( token: token, ); factory AddDevicePrinterVersionRequest.fromJson(Map map) { return AddDevicePrinterVersionRequest( version: map['Version'], versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (version != null) map['Version'] = version; map['VersionTypeEnum'] = versionTypeEnum.index; return map; } } class DevicePrinterVersionDTO extends BaseDTO{ String? version; DeviceVersionEnum versionTypeEnum; String? code; DevicePrinterVersionDTO({ this.version, this.versionTypeEnum = DeviceVersionEnum.All, this.code, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DevicePrinterVersionDTO.fromJson(Map map) { return DevicePrinterVersionDTO( version: map['Version'], versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), code: map['Code'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (version != null) map['Version'] = version; map['VersionTypeEnum'] = versionTypeEnum.index; if (code != null) map['Code'] = code; return map; } } class FindDevicePrinterVersionListRequest extends TokenRequest{ DeviceVersionEnum versionTypeEnum; FindDevicePrinterVersionListRequest({ this.versionTypeEnum = DeviceVersionEnum.All, String? token, }) : super( token: token, ); factory FindDevicePrinterVersionListRequest.fromJson(Map map) { return FindDevicePrinterVersionListRequest( versionTypeEnum: DeviceVersionEnum.values.firstWhere((e) => e.index == map['VersionTypeEnum']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['VersionTypeEnum'] = versionTypeEnum.index; return map; } } class DeleteDevicePrinterVersionRequest extends TokenRequest{ String? code; DeleteDevicePrinterVersionRequest({ this.code, String? token, }) : super( token: token, ); factory DeleteDevicePrinterVersionRequest.fromJson(Map map) { return DeleteDevicePrinterVersionRequest( code: map['Code'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; return map; } } class AddDevicePrinterRequest extends TokenRequest{ String? name; String? description; String? osVersion; List? fileUploadInfoList; int fileSize; String? printerBrands; List? printerModels; String? fileName; AddDevicePrinterRequest({ this.name, this.description, this.osVersion, this.fileUploadInfoList, this.fileSize = 0, this.printerBrands, this.printerModels, this.fileName, String? token, }) : super( token: token, ); factory AddDevicePrinterRequest.fromJson(Map map) { return AddDevicePrinterRequest( name: map['Name'], description: map['Description'], osVersion: map['OsVersion'], fileUploadInfoList: map['FileUploadInfoList'] != null ? (map['FileUploadInfoList'] as List).map((e)=>UploadDeviceFileInfoDTO.fromJson(e as Map)).toList() : null, fileSize: map['FileSize'], printerBrands: map['PrinterBrands'], printerModels: map['PrinterModels']?.cast().toList(), fileName: map['FileName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (osVersion != null) map['OsVersion'] = osVersion; if (fileUploadInfoList != null) map['FileUploadInfoList'] = fileUploadInfoList; map['FileSize'] = fileSize; if (printerBrands != null) map['PrinterBrands'] = printerBrands; if (printerModels != null) map['PrinterModels'] = printerModels; if (fileName != null) map['FileName'] = fileName; return map; } } class FindDevicePrinterPageRequest extends PageRequest{ String? keyword; FindDevicePrinterPageRequest({ this.keyword, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindDevicePrinterPageRequest.fromJson(Map map) { return FindDevicePrinterPageRequest( keyword: map['Keyword'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyword != null) map['Keyword'] = keyword; return map; } } class DeleteDevicePrinterByCodeRequest extends TokenRequest{ String? code; DeleteDevicePrinterByCodeRequest({ this.code, String? token, }) : super( token: token, ); factory DeleteDevicePrinterByCodeRequest.fromJson(Map map) { return DeleteDevicePrinterByCodeRequest( code: map['Code'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (code != null) map['Code'] = code; return map; } } class UpdateDevicePrinterRequest extends TokenRequest{ String? name; String? description; String? osVersion; String? code; UpdateDevicePrinterRequest({ this.name, this.description, this.osVersion, this.code, String? token, }) : super( token: token, ); factory UpdateDevicePrinterRequest.fromJson(Map map) { return UpdateDevicePrinterRequest( name: map['Name'], description: map['Description'], osVersion: map['OsVersion'], code: map['Code'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (osVersion != null) map['OsVersion'] = osVersion; if (code != null) map['Code'] = code; return map; } } class SetDevicePrinterRequest extends TokenRequest{ String? deviceCode; DevicePrinterEnum setPrinterEnum; List? parameters; SetDevicePrinterRequest({ this.deviceCode, this.setPrinterEnum = DevicePrinterEnum.GetInstalledPrinters, this.parameters, String? token, }) : super( token: token, ); factory SetDevicePrinterRequest.fromJson(Map map) { return SetDevicePrinterRequest( deviceCode: map['DeviceCode'], setPrinterEnum: DevicePrinterEnum.values.firstWhere((e) => e.index == map['SetPrinterEnum']), parameters: map['Parameters'] != null ? (map['Parameters'] as List).map((e)=>DevicePrinterParameter.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; map['SetPrinterEnum'] = setPrinterEnum.index; if (parameters != null) map['Parameters'] = parameters; return map; } } class UploadDevicePrinterRequest extends TokenRequest{ String? userCode; DevicePrinterEnum setPrinterEnum; List? devicePrinterList; RemoteDeviceStateEnum remoteDeviceState; UploadDevicePrinterRequest({ this.userCode, this.setPrinterEnum = DevicePrinterEnum.GetInstalledPrinters, this.devicePrinterList, this.remoteDeviceState = RemoteDeviceStateEnum.Unknown, String? token, }) : super( token: token, ); factory UploadDevicePrinterRequest.fromJson(Map map) { return UploadDevicePrinterRequest( userCode: map['UserCode'], setPrinterEnum: DevicePrinterEnum.values.firstWhere((e) => e.index == map['SetPrinterEnum']), devicePrinterList: map['DevicePrinterList'] != null ? (map['DevicePrinterList'] as List).map((e)=>DevicePrinterParameterDTO.fromJson(e as Map)).toList() : null, remoteDeviceState: RemoteDeviceStateEnum.values.firstWhere((e) => e.index == map['RemoteDeviceState']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; map['SetPrinterEnum'] = setPrinterEnum.index; if (devicePrinterList != null) map['DevicePrinterList'] = devicePrinterList; map['RemoteDeviceState'] = remoteDeviceState.index; return map; } } class RestartDeviceRequest extends TokenRequest{ String? deviceCode; bool isNeedSyn; RestartDeviceRequest({ this.deviceCode, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory RestartDeviceRequest.fromJson(Map map) { return RestartDeviceRequest( deviceCode: map['DeviceCode'], isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; map['IsNeedSyn'] = isNeedSyn; return map; } } class ModifyEmergencyDeviceCodeRequest extends TokenRequest{ String? emergencyDeviceCode; ModifyEmergencyDeviceCodeRequest({ this.emergencyDeviceCode, String? token, }) : super( token: token, ); factory ModifyEmergencyDeviceCodeRequest.fromJson(Map map) { return ModifyEmergencyDeviceCodeRequest( emergencyDeviceCode: map['EmergencyDeviceCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (emergencyDeviceCode != null) map['EmergencyDeviceCode'] = emergencyDeviceCode; return map; } } class SendCommandToDeviceRequest extends TokenRequest{ String? deviceCode; String? actionType; String? settings; SendCommandToDeviceRequest({ this.deviceCode, this.actionType, this.settings, String? token, }) : super( token: token, ); factory SendCommandToDeviceRequest.fromJson(Map map) { return SendCommandToDeviceRequest( deviceCode: map['DeviceCode'], actionType: map['ActionType'], settings: map['Settings'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (actionType != null) map['ActionType'] = actionType; if (settings != null) map['Settings'] = settings; return map; } } class SendResultToClientRequest extends TokenRequest{ String? userCode; String? settings; SendResultToClientRequest({ this.userCode, this.settings, String? token, }) : super( token: token, ); factory SendResultToClientRequest.fromJson(Map map) { return SendResultToClientRequest( userCode: map['UserCode'], settings: map['Settings'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; if (settings != null) map['Settings'] = settings; return map; } } class GetResultFromServerRequest extends TokenRequest{ String? resultCode; GetResultFromServerRequest({ this.resultCode, String? token, }) : super( token: token, ); factory GetResultFromServerRequest.fromJson(Map map) { return GetResultFromServerRequest( resultCode: map['ResultCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (resultCode != null) map['ResultCode'] = resultCode; return map; } } class RemoteConnectStautsRequest extends TokenRequest{ String? userCode; String? deviceCode; LoginSource loginSource; bool isNeedSyn; RemoteConnectStautsRequest({ this.userCode, this.deviceCode, this.loginSource = LoginSource.PC, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory RemoteConnectStautsRequest.fromJson(Map map) { return RemoteConnectStautsRequest( userCode: map['UserCode'], deviceCode: map['DeviceCode'], loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; map['LoginSource'] = loginSource.index; map['IsNeedSyn'] = isNeedSyn; return map; } } class RemoteConnectHeartRateRequest extends TokenRequest{ TransactionTypeEnum transactionType; bool isNeedSyn; RemoteConnectHeartRateRequest({ this.transactionType = TransactionTypeEnum.Consultion, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory RemoteConnectHeartRateRequest.fromJson(Map map) { return RemoteConnectHeartRateRequest( transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['TransactionType'] = transactionType.index; map['IsNeedSyn'] = isNeedSyn; return map; } } class AddUserRemoteConnectRequest extends GetDeviceRequest{ String? roomId; ConnectStatusEnum statusEnum; AddUserRemoteConnectRequest({ this.roomId, this.statusEnum = ConnectStatusEnum.UnConnect, String? deviceCode, bool isNeedSyn = false, List? connectStatus, String? token, }) : super( deviceCode: deviceCode, isNeedSyn: isNeedSyn, connectStatus: connectStatus, token: token, ); factory AddUserRemoteConnectRequest.fromJson(Map map) { return AddUserRemoteConnectRequest( roomId: map['RoomId'], statusEnum: ConnectStatusEnum.values.firstWhere((e) => e.index == map['StatusEnum']), deviceCode: map['DeviceCode'], isNeedSyn: map['IsNeedSyn'], connectStatus: map['ConnectStatus'] != null ? (map['ConnectStatus'] as List).map((e)=>ConnectStatusEnum.values.firstWhere((i) => i.index == e)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (roomId != null) map['RoomId'] = roomId; map['StatusEnum'] = statusEnum.index; return map; } } class DeviceConnectStateResult { String? deviceCode; ConnectStatusEnum connectStatus; DeviceConnectStateResult({ this.deviceCode, this.connectStatus = ConnectStatusEnum.UnConnect, }); factory DeviceConnectStateResult.fromJson(Map map) { return DeviceConnectStateResult( deviceCode: map['DeviceCode'], connectStatus: ConnectStatusEnum.values.firstWhere((e) => e.index == map['ConnectStatus']), ); } Map toJson() { final map = Map(); if (deviceCode != null) { map['DeviceCode'] = deviceCode; } map['ConnectStatus'] = connectStatus.index; return map; } } class GetDeviceStateListRequest extends TokenRequest{ List? deviceCodes; GetDeviceStateListRequest({ this.deviceCodes, String? token, }) : super( token: token, ); factory GetDeviceStateListRequest.fromJson(Map map) { return GetDeviceStateListRequest( deviceCodes: map['DeviceCodes']?.cast().toList(), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCodes != null) map['DeviceCodes'] = deviceCodes; return map; } } class DeivceCancelLogDownloadRequest extends TokenRequest{ String? userCode; DeivceCancelLogDownloadRequest({ this.userCode, String? token, }) : super( token: token, ); factory DeivceCancelLogDownloadRequest.fromJson(Map map) { return DeivceCancelLogDownloadRequest( userCode: map['UserCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; return map; } } class ProbeApplicationSettingRequest extends TokenRequest{ String? deviceCode; ProbeApplicationSettingInfoDTO? probeApplicationSetting; ControlDeviceParameterEnum controlType; ProbeApplicationSettingRequest({ this.deviceCode, this.probeApplicationSetting, this.controlType = ControlDeviceParameterEnum.Start, String? token, }) : super( token: token, ); factory ProbeApplicationSettingRequest.fromJson(Map map) { return ProbeApplicationSettingRequest( deviceCode: map['DeviceCode'], probeApplicationSetting: map['ProbeApplicationSetting'] != null ? ProbeApplicationSettingInfoDTO.fromJson(map['ProbeApplicationSetting']) : null, controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (probeApplicationSetting != null) map['ProbeApplicationSetting'] = probeApplicationSetting; map['ControlType'] = controlType.index; return map; } } class ProbeApplicationSettingResultRequest extends TokenRequest{ String? userCode; ProbeApplicationSettingInfoDTO? probeApplicationSetting; ControlDeviceParameterEnum controlType; ProbeApplicationSettingResultRequest({ this.userCode, this.probeApplicationSetting, this.controlType = ControlDeviceParameterEnum.Start, String? token, }) : super( token: token, ); factory ProbeApplicationSettingResultRequest.fromJson(Map map) { return ProbeApplicationSettingResultRequest( userCode: map['UserCode'], probeApplicationSetting: map['ProbeApplicationSetting'] != null ? ProbeApplicationSettingInfoDTO.fromJson(map['ProbeApplicationSetting']) : null, controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; if (probeApplicationSetting != null) map['ProbeApplicationSetting'] = probeApplicationSetting; map['ControlType'] = controlType.index; return map; } }