import 'authentication.m.dart'; import 'notification.m.dart'; import 'liveConsultation.m.dart'; class ConnectResult { String? token; String? uniqueCode; ConnectResult({ this.token, this.uniqueCode, }); factory ConnectResult.fromJson(Map map) { return ConnectResult( token: map['Token'], uniqueCode: map['UniqueCode'], ); } Map toJson() { final map = Map(); if(token != null) map['Token'] = token; if(uniqueCode != null) map['UniqueCode'] = uniqueCode; return map; } } class ConnectRequest { String? deviceUniqueCode; String? password; String? deviceModel; String? deviceType; String? softwareVersion; String? systemVersion; String? cPUModel; String? systemLanguage; String? description; String? name; String? organizationCode; String? departmentCode; Platform platform; LoginSource loginSource; String? installVersion; bool isOldPlatform; String? deviceCode; ConnectRequest({ this.deviceUniqueCode, this.password, this.deviceModel, this.deviceType, this.softwareVersion, this.systemVersion, this.cPUModel, this.systemLanguage, this.description, this.name, this.organizationCode, this.departmentCode, this.platform = Platform.Windows, this.loginSource = LoginSource.PC, this.installVersion, this.isOldPlatform = false, this.deviceCode, }); factory ConnectRequest.fromJson(Map map) { return ConnectRequest( deviceUniqueCode: map['DeviceUniqueCode'], password: map['Password'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], softwareVersion: map['SoftwareVersion'], systemVersion: map['SystemVersion'], cPUModel: map['CPUModel'], systemLanguage: map['SystemLanguage'], description: map['Description'], name: map['Name'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], platform: Platform.values.firstWhere((e) => e.index == map['Platform']), loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), installVersion: map['InstallVersion'], isOldPlatform: map['IsOldPlatform'], deviceCode: map['DeviceCode'], ); } Map toJson() { final map = Map(); if(deviceUniqueCode != null) map['DeviceUniqueCode'] = deviceUniqueCode; if(password != null) map['Password'] = password; if(deviceModel != null) map['DeviceModel'] = deviceModel; if(deviceType != null) map['DeviceType'] = deviceType; if(softwareVersion != null) map['SoftwareVersion'] = softwareVersion; if(systemVersion != null) map['SystemVersion'] = systemVersion; if(cPUModel != null) map['CPUModel'] = cPUModel; if(systemLanguage != null) map['SystemLanguage'] = systemLanguage; if(description != null) map['Description'] = description; if(name != null) map['Name'] = name; if(organizationCode != null) map['OrganizationCode'] = organizationCode; if(departmentCode != null) map['DepartmentCode'] = departmentCode; map['Platform'] = platform.index; map['LoginSource'] = loginSource.index; if(installVersion != null) map['InstallVersion'] = installVersion; map['IsOldPlatform'] = isOldPlatform; if(deviceCode != null) map['DeviceCode'] = deviceCode; return map; } } class CacheDeviceDTO extends DeviceInfoDTO{ bool isOnline; String? sourceUrl; CacheDeviceDTO({ this.isOnline = false, this.sourceUrl, 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, 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, createTime: createTime, updateTime: updateTime, ); factory CacheDeviceDTO.fromJson(Map map) { return CacheDeviceDTO( isOnline: map['IsOnline'], sourceUrl: map['SourceUrl'], 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'], supportRtc: map['SupportRtc'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); map['IsOnline'] = isOnline; if(sourceUrl != null) map['SourceUrl'] = sourceUrl; return map; } } class SetDeviceIsEncryptedShowRequest extends TokenRequest{ bool isEncryptedShow; SetDeviceIsEncryptedShowRequest({ this.isEncryptedShow = false, String? token, }) : super( token: token, ); factory SetDeviceIsEncryptedShowRequest.fromJson(Map map) { return SetDeviceIsEncryptedShowRequest( isEncryptedShow: map['IsEncryptedShow'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['IsEncryptedShow'] = isEncryptedShow; return map; } }