import 'liveConsultation.m.dart'; import 'notification.m.dart'; import 'package:fis_jsonrpc/utils.dart'; import 'package:fis_common/json_convert.dart'; 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 DictionaryLanguageConfigDTO { String? language; String? value; DictionaryLanguageConfigDTO({ this.language, this.value, }); factory DictionaryLanguageConfigDTO.fromJson(Map map) { return DictionaryLanguageConfigDTO( language: map['Language'], value: map['Value'], ); } Map toJson() { final map = Map(); if(language != null) map['Language'] = language; if(value != null) map['Value'] = value; return map; } } class DeviceExtendInfoDTO extends DeviceInfoDTO{ String? organizationName; String? departmentName; bool isOnline; bool isLiving; String? organizationDirectorCode; String? organizationDirectorUserName; String? organizationDirectorFullName; List? languageConfigs; bool isEmergencyDevice; DeviceExtendInfoDTO({ this.organizationName, this.departmentName, this.isOnline = false, this.isLiving = false, this.organizationDirectorCode, this.organizationDirectorUserName, this.organizationDirectorFullName, this.languageConfigs, this.isEmergencyDevice = false, 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, 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, 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'], 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'] != null ? map['DiagnosisModules'].cast().toList() : null, reportPosterCodes: map['ReportPosterCodes'] != null ? map['ReportPosterCodes'].cast().toList() : null, 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'], 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['IsOnline'] = isOnline; map['IsLiving'] = isLiving; if(organizationDirectorCode != null) map['OrganizationDirectorCode'] = organizationDirectorCode; if(organizationDirectorUserName != null) map['OrganizationDirectorUserName'] = organizationDirectorUserName; if(organizationDirectorFullName != null) map['OrganizationDirectorFullName'] = organizationDirectorFullName; if(languageConfigs != null) map['LanguageConfigs'] = languageConfigs; map['IsEmergencyDevice'] = isEmergencyDevice; return map; } } class GetDeviceRequest extends TokenRequest{ String? deviceCode; bool isNeedSyn; GetDeviceRequest({ this.deviceCode, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory GetDeviceRequest.fromJson(Map map) { return GetDeviceRequest( 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 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 PageCollection { int currentPage; int pageSize; int dataCount; List? pageData; PageCollection({ this.currentPage = 0, this.pageSize = 0, this.dataCount = 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'], pageSize: map['PageSize'], dataCount: map['DataCount'], pageData: pageDataList, ); } Map toJson() { final map = Map(); map['CurrentPage'] = currentPage; map['PageSize'] = pageSize; map['DataCount'] = dataCount; if(pageData != null) map['PageData'] = pageData; 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'] != null ? map['Filter'].cast() : null, 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; ModifyDeviceRequest({ this.deviceCode, this.name, this.headPicUrl, this.departmentCode, this.isAutoShared = false, 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'], 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; 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'] != null ? map['UserCodes'].cast().toList() : null, 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'] != null ? map['UserCodes'].cast().toList() : null, 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 GetPersonDeviceRequest extends PageRequest{ String? keyWord; String? deviceType; String? deviceModel; bool? isOnline; GetPersonDeviceRequest({ this.keyWord, this.deviceType, this.deviceModel, 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'], 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(isOnline != null) map['IsOnline'] = isOnline; 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 SelectItemDTO { String? key; String? value; SelectItemDTO({ this.key, this.value, }); factory SelectItemDTO.fromJson(Map map) { return SelectItemDTO( key: map['Key'], value: map['Value'], ); } Map toJson() { final map = Map(); if(key != null) map['Key'] = key; if(value != null) map['Value'] = value; return map; } } class DeviceServerSettingResult { Map? serverConfigList; bool isUploadThumbnail; OrganizationPatientTypeEnum patientType; int heartRateSeconds; String? notificationUrl; bool mergedChannel; int liveConsultationRateSeconds; int mergedVideoOutputWidth; int mergedVideoOutputHeight; bool isSelfRtcService; int remoteControlAskTimeoutSec; String? liveProtocol; 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.remoteControlAskTimeoutSec = 0, this.liveProtocol, }); factory DeviceServerSettingResult.fromJson(Map map) { return DeviceServerSettingResult( serverConfigList: map['ServerConfigList'] != null ? map['ServerConfigList'].cast() : null, 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'], remoteControlAskTimeoutSec: map['RemoteControlAskTimeoutSec'], liveProtocol: map['LiveProtocol'], ); } 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; map['RemoteControlAskTimeoutSec'] = remoteControlAskTimeoutSec; if(liveProtocol != null) map['LiveProtocol'] = liveProtocol; 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; List? videoDeviceInfos; ReportVideoDeviceInfoRequest({ this.liveOpened = false, this.videoDeviceInfos, String? token, }) : super( token: token, ); factory ReportVideoDeviceInfoRequest.fromJson(Map map) { return ReportVideoDeviceInfoRequest( liveOpened: map['LiveOpened'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfo.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['LiveOpened'] = liveOpened; if(videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; return map; } } 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 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'] != null ? map['Applications'].cast().toList() : null, 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 LiveDataDTO { int width; int height; String? rtmpPushUrl; String? rtmpPullUrl; String? httpPullUrl; String? hlsPullUrl; LiveDataDTO({ this.width = 0, this.height = 0, this.rtmpPushUrl, this.rtmpPullUrl, this.httpPullUrl, this.hlsPullUrl, }); factory LiveDataDTO.fromJson(Map map) { return LiveDataDTO( width: map['Width'], height: map['Height'], rtmpPushUrl: map['RtmpPushUrl'], rtmpPullUrl: map['RtmpPullUrl'], httpPullUrl: map['HttpPullUrl'], hlsPullUrl: map['HlsPullUrl'], ); } Map toJson() { final map = Map(); map['Width'] = width; map['Height'] = height; if(rtmpPushUrl != null) map['RtmpPushUrl'] = rtmpPushUrl; if(rtmpPullUrl != null) map['RtmpPullUrl'] = rtmpPullUrl; if(httpPullUrl != null) map['HttpPullUrl'] = httpPullUrl; if(hlsPullUrl != null) map['HlsPullUrl'] = hlsPullUrl; 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; String? liveProtocol; String? deviceCode; bool mergedChannel; int mergedVideoOutputWidth; int mergedVideoOutputHeight; List? videoDeviceInfos; int reportStateIntervalSeconds; JoinDeviceLiveRoomResult({ this.roomNo = 0, this.liveProtocol, this.deviceCode, this.mergedChannel = false, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.videoDeviceInfos, this.reportStateIntervalSeconds = 0, String? token, }) : super( token: token, ); factory JoinDeviceLiveRoomResult.fromJson(Map map) { return JoinDeviceLiveRoomResult( roomNo: map['RoomNo'], liveProtocol: 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'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['RoomNo'] = roomNo; if(liveProtocol != null) map['LiveProtocol'] = liveProtocol; if(deviceCode != null) map['DeviceCode'] = deviceCode; map['MergedChannel'] = mergedChannel; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; if(videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds; 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; String? liveProtocol; String? deviceCode; bool mergedChannel; int mergedVideoOutputWidth; int mergedVideoOutputHeight; List? videoDeviceInfos; int reportStateIntervalSeconds; JoinDeviceLiveRoomByShareResult({ this.roomNo = 0, this.liveProtocol, this.deviceCode, this.mergedChannel = false, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.videoDeviceInfos, this.reportStateIntervalSeconds = 0, }); factory JoinDeviceLiveRoomByShareResult.fromJson(Map map) { return JoinDeviceLiveRoomByShareResult( roomNo: map['RoomNo'], liveProtocol: 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'], ); } Map toJson() { final map = Map(); map['RoomNo'] = roomNo; if(liveProtocol != null) map['LiveProtocol'] = liveProtocol; if(deviceCode != null) map['DeviceCode'] = deviceCode; map['MergedChannel'] = mergedChannel; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; if(videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; map['ReportStateIntervalSeconds'] = reportStateIntervalSeconds; 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; CreateLiveRoomInfoResult({ this.userCode, this.userSign, this.roomNo = 0, this.appId = 0, this.isTrtc = false, }); factory CreateLiveRoomInfoResult.fromJson(Map map) { return CreateLiveRoomInfoResult( userCode: map['UserCode'], userSign: map['UserSign'], roomNo: map['RoomNo'], appId: map['AppId'], isTrtc: map['IsTrtc'], ); } 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; 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 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; } } class ControlDeviceConnectRequest extends BaseControlDeviceRequest{ String? deviceCode; ControlDeviceConnectRequest({ this.deviceCode, 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'], 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; return map; } } class ControlDeviceParameterRequest extends BaseControlDeviceParameterRequest{ String? deviceCode; ControlDeviceParameterRequest({ this.deviceCode, 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'], 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; return map; } } class GetRemoteLogRequest extends TokenRequest{ String? deviceCode; DateTime? startTime; DateTime? endTime; GetRemoteLogRequest({ this.deviceCode, this.startTime, this.endTime, String? token, }) : super( token: token, ); factory GetRemoteLogRequest.fromJson(Map map) { return GetRemoteLogRequest( deviceCode: map['DeviceCode'], startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null, endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(deviceCode != null) map['DeviceCode'] = deviceCode; if(startTime != null) map['StartTime'] = JsonRpcUtils.dateFormat(startTime!); if(endTime != null) map['EndTime'] = JsonRpcUtils.dateFormat(endTime!); 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; ScanBindDeviceRequest({ this.shortCode, String? token, }) : super( token: token, ); factory ScanBindDeviceRequest.fromJson(Map map) { return ScanBindDeviceRequest( shortCode: map['ShortCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(shortCode != null) map['ShortCode'] = shortCode; 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 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 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; FindPushDevicePatchPageRequest({ this.keyword, this.deviceCode, 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'], 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; 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'] != null ? map['PrinterModels'].cast().toList() : null, 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; LoginSource loginSource; bool isNeedSyn; RemoteConnectStautsRequest({ this.userCode, this.loginSource = LoginSource.PC, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory RemoteConnectStautsRequest.fromJson(Map map) { return RemoteConnectStautsRequest( userCode: map['UserCode'], 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; 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; } } enum ConnectStatusEnum { UnConnect, WaitConnect, CompleteConnect, WaitDisconnect, CompleteDisconnect, } class AddUserRemoteConnectRequest extends GetDeviceRequest{ String? roomId; ConnectStatusEnum statusEnum; AddUserRemoteConnectRequest({ this.roomId, this.statusEnum = ConnectStatusEnum.UnConnect, String? deviceCode, bool isNeedSyn = false, String? token, }) : super( deviceCode: deviceCode, isNeedSyn: isNeedSyn, 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'], 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'] != null ? map['DeviceCodes'].cast().toList() : null, 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 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 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; } }