import 'authentication.m.dart'; import 'notification.m.dart'; import 'liveConsultation.m.dart'; enum LoginStateEnum { Succeed, PasswordIncorrect, } class LoginResult { LoginStateEnum loginState; String? token; int? lockRemainingTimes; bool passwordExpired; String? accountName; LoginResult({ this.loginState = LoginStateEnum.Succeed, this.token, this.lockRemainingTimes, this.passwordExpired = false, this.accountName, }); factory LoginResult.fromJson(Map map) { return LoginResult( loginState: LoginStateEnum.values.firstWhere((e) => e.index == map['LoginState']), token: map['Token'], lockRemainingTimes: map['LockRemainingTimes'], passwordExpired: map['PasswordExpired'], accountName: map['AccountName'], ); } Map toJson() { final map = Map(); map['LoginState'] = loginState.index; if(token != null) map['Token'] = token; if(lockRemainingTimes != null) map['LockRemainingTimes'] = lockRemainingTimes; map['PasswordExpired'] = passwordExpired; if(accountName != null) map['AccountName'] = accountName; return map; } } class CommonLoginRequest { String? anyAccount; String? anyCode; String? password; Map? headerMap; Platform platform; LoginSource loginSource; String? installVersion; CommonLoginRequest({ this.anyAccount, this.anyCode, this.password, this.headerMap, this.platform = Platform.Windows, this.loginSource = LoginSource.PC, this.installVersion, }); factory CommonLoginRequest.fromJson(Map map) { return CommonLoginRequest( anyAccount: map['AnyAccount'], anyCode: map['AnyCode'], password: map['Password'], headerMap: map['HeaderMap'] != null ? map['HeaderMap'].cast() : null, platform: Platform.values.firstWhere((e) => e.index == map['Platform']), loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), installVersion: map['InstallVersion'], ); } Map toJson() { final map = Map(); if(anyAccount != null) map['AnyAccount'] = anyAccount; if(anyCode != null) map['AnyCode'] = anyCode; if(password != null) map['Password'] = password; if(headerMap != null) map['HeaderMap'] = headerMap; map['Platform'] = platform.index; map['LoginSource'] = loginSource.index; if(installVersion != null) map['InstallVersion'] = installVersion; return map; } } class CheckLoginTypeRequest { String? anyAccount; CheckLoginTypeRequest({ this.anyAccount, }); factory CheckLoginTypeRequest.fromJson(Map map) { return CheckLoginTypeRequest( anyAccount: map['AnyAccount'], ); } Map toJson() { final map = Map(); if(anyAccount != null) map['AnyAccount'] = anyAccount; return map; } } class CommonSignUpRequest { String? anyAccount; String? anyCode; String? password; Map? headerMap; CommonSignUpRequest({ this.anyAccount, this.anyCode, this.password, this.headerMap, }); factory CommonSignUpRequest.fromJson(Map map) { return CommonSignUpRequest( anyAccount: map['AnyAccount'], anyCode: map['AnyCode'], password: map['Password'], headerMap: map['HeaderMap'] != null ? map['HeaderMap'].cast() : null, ); } Map toJson() { final map = Map(); if(anyAccount != null) map['AnyAccount'] = anyAccount; if(anyCode != null) map['AnyCode'] = anyCode; if(password != null) map['Password'] = password; if(headerMap != null) map['HeaderMap'] = headerMap; return map; } } class CheckSMSVerificationCodeRequest { String? userPhone; String? verifyCode; CheckSMSVerificationCodeRequest({ this.userPhone, this.verifyCode, }); factory CheckSMSVerificationCodeRequest.fromJson(Map map) { return CheckSMSVerificationCodeRequest( userPhone: map['UserPhone'], verifyCode: map['VerifyCode'], ); } Map toJson() { final map = Map(); if(userPhone != null) map['UserPhone'] = userPhone; if(verifyCode != null) map['VerifyCode'] = verifyCode; return map; } } class SendSMSVerificationCodeRequest { String? userPhone; SendSMSVerificationCodeRequest({ this.userPhone, }); factory SendSMSVerificationCodeRequest.fromJson(Map map) { return SendSMSVerificationCodeRequest( userPhone: map['UserPhone'], ); } Map toJson() { final map = Map(); if(userPhone != null) map['UserPhone'] = userPhone; return map; } } class SendEmailVerificationCodeRequest { String? emailAddress; String? languageCode; SendEmailVerificationCodeRequest({ this.emailAddress, this.languageCode, }); factory SendEmailVerificationCodeRequest.fromJson(Map map) { return SendEmailVerificationCodeRequest( emailAddress: map['EmailAddress'], languageCode: map['LanguageCode'], ); } Map toJson() { final map = Map(); if(emailAddress != null) map['EmailAddress'] = emailAddress; if(languageCode != null) map['LanguageCode'] = languageCode; return map; } } class CheckEmailVerificationCodeRequest { String? emailAddress; String? verifyCode; CheckEmailVerificationCodeRequest({ this.emailAddress, this.verifyCode, }); factory CheckEmailVerificationCodeRequest.fromJson(Map map) { return CheckEmailVerificationCodeRequest( emailAddress: map['EmailAddress'], verifyCode: map['VerifyCode'], ); } Map toJson() { final map = Map(); if(emailAddress != null) map['EmailAddress'] = emailAddress; if(verifyCode != null) map['VerifyCode'] = verifyCode; return map; } } class RetrievePasswordByPhoneRequest { String? phone; String? verifyCode; String? newPassword; RetrievePasswordByPhoneRequest({ this.phone, this.verifyCode, this.newPassword, }); factory RetrievePasswordByPhoneRequest.fromJson(Map map) { return RetrievePasswordByPhoneRequest( phone: map['Phone'], verifyCode: map['VerifyCode'], newPassword: map['NewPassword'], ); } Map toJson() { final map = Map(); if(phone != null) map['Phone'] = phone; if(verifyCode != null) map['VerifyCode'] = verifyCode; if(newPassword != null) map['NewPassword'] = newPassword; return map; } } class RetrievePasswordByEmailRequest { String? mail; String? verifyCode; String? newPassword; RetrievePasswordByEmailRequest({ this.mail, this.verifyCode, this.newPassword, }); factory RetrievePasswordByEmailRequest.fromJson(Map map) { return RetrievePasswordByEmailRequest( mail: map['Mail'], verifyCode: map['VerifyCode'], newPassword: map['NewPassword'], ); } Map toJson() { final map = Map(); if(mail != null) map['Mail'] = mail; if(verifyCode != null) map['VerifyCode'] = verifyCode; if(newPassword != null) map['NewPassword'] = newPassword; return map; } } class VerifyAccountRequest { String? userName; VerifyAccountRequest({ this.userName, }); factory VerifyAccountRequest.fromJson(Map map) { return VerifyAccountRequest( userName: map['UserName'], ); } Map toJson() { final map = Map(); if(userName != null) map['UserName'] = userName; return map; } } class ModifyPasswordRequest extends CommonSignUpRequest{ String? token; String? newPassword; ModifyPasswordRequest({ this.token, this.newPassword, String? anyAccount, String? anyCode, String? password, Map? headerMap, }) : super( anyAccount: anyAccount, anyCode: anyCode, password: password, headerMap: headerMap, ); factory ModifyPasswordRequest.fromJson(Map map) { return ModifyPasswordRequest( token: map['Token'], newPassword: map['NewPassword'], anyAccount: map['AnyAccount'], anyCode: map['AnyCode'], password: map['Password'], headerMap: map['HeaderMap'] != null ? map['HeaderMap'].cast() : null, ); } Map toJson() { final map = super.toJson(); if(token != null) map['Token'] = token; if(newPassword != null) map['NewPassword'] = newPassword; return map; } } class GenerateNewPasswordRequest extends TokenRequest{ GenerateNewPasswordRequest({ String? token, }) : super( token: token, ); factory GenerateNewPasswordRequest.fromJson(Map map) { return GenerateNewPasswordRequest( token: map['Token'], ); } Map toJson() { final map = super.toJson(); return map; } } enum AssociatedAccountResultEnum { Success, UserNotFind, UserNameIsEmpty, Error, } class StartAssociatedWithAccountResult { bool isSuccess; AssociatedAccountResultEnum state; StartAssociatedWithAccountResult({ this.isSuccess = false, this.state = AssociatedAccountResultEnum.Success, }); factory StartAssociatedWithAccountResult.fromJson(Map map) { return StartAssociatedWithAccountResult( isSuccess: map['IsSuccess'], state: AssociatedAccountResultEnum.values.firstWhere((e) => e.index == map['State']), ); } Map toJson() { final map = Map(); map['IsSuccess'] = isSuccess; map['State'] = state.index; return map; } } class StartAssociatedWithAccountRequest extends TokenRequest{ String? wingUserName; String? thirdPartyUserId; String? languageCode; StartAssociatedWithAccountRequest({ this.wingUserName, this.thirdPartyUserId, this.languageCode, String? token, }) : super( token: token, ); factory StartAssociatedWithAccountRequest.fromJson(Map map) { return StartAssociatedWithAccountRequest( wingUserName: map['WingUserName'], thirdPartyUserId: map['ThirdPartyUserId'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(wingUserName != null) map['WingUserName'] = wingUserName; if(thirdPartyUserId != null) map['ThirdPartyUserId'] = thirdPartyUserId; if(languageCode != null) map['LanguageCode'] = languageCode; return map; } } class AssociatedFeatureInfoDTO extends AssociatedInfoDTO{ String? featureCode; AssociatedFeatureInfoDTO({ this.featureCode, String? id, String? title, String? cTitle, String? eTitle, String? icon, String? description, String? url, int index = 0, }) : super( id: id, title: title, cTitle: cTitle, eTitle: eTitle, icon: icon, description: description, url: url, index: index, ); factory AssociatedFeatureInfoDTO.fromJson(Map map) { return AssociatedFeatureInfoDTO( featureCode: map['FeatureCode'], id: map['Id'], title: map['Title'], cTitle: map['CTitle'], eTitle: map['ETitle'], icon: map['Icon'], description: map['Description'], url: map['Url'], index: map['Index'], ); } Map toJson() { final map = super.toJson(); if(featureCode != null) map['FeatureCode'] = featureCode; return map; } } class GetAssociatedAccountInfoResult { bool isSuccess; List? accountInfoList; GetAssociatedAccountInfoResult({ this.isSuccess = false, this.accountInfoList, }); factory GetAssociatedAccountInfoResult.fromJson(Map map) { return GetAssociatedAccountInfoResult( isSuccess: map['IsSuccess'], accountInfoList: map['AccountInfoList'] != null ? (map['AccountInfoList'] as List).map((e)=>AssociatedFeatureInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); map['IsSuccess'] = isSuccess; if(accountInfoList != null) map['AccountInfoList'] = accountInfoList; return map; } } class GetAssociatedAccountInfoRequest extends TokenRequest{ GetAssociatedAccountInfoRequest({ String? token, }) : super( token: token, ); factory GetAssociatedAccountInfoRequest.fromJson(Map map) { return GetAssociatedAccountInfoRequest( token: map['Token'], ); } Map toJson() { final map = super.toJson(); return map; } } class GetScanCodeResult { int validSeconds; String? scanCode; GetScanCodeResult({ this.validSeconds = 0, this.scanCode, }); factory GetScanCodeResult.fromJson(Map map) { return GetScanCodeResult( validSeconds: map['ValidSeconds'], scanCode: map['ScanCode'], ); } Map toJson() { final map = Map(); map['ValidSeconds'] = validSeconds; if(scanCode != null) map['ScanCode'] = scanCode; return map; } } enum ScanLoginSource { PC, Web, US, } class GetScanCodeRequest { ScanLoginSource scanLoginSource; Platform platform; String? installVersion; GetScanCodeRequest({ this.scanLoginSource = ScanLoginSource.PC, this.platform = Platform.Windows, this.installVersion, }); factory GetScanCodeRequest.fromJson(Map map) { return GetScanCodeRequest( scanLoginSource: ScanLoginSource.values.firstWhere((e) => e.index == map['ScanLoginSource']), platform: Platform.values.firstWhere((e) => e.index == map['Platform']), installVersion: map['InstallVersion'], ); } Map toJson() { final map = Map(); map['ScanLoginSource'] = scanLoginSource.index; map['Platform'] = platform.index; if(installVersion != null) map['InstallVersion'] = installVersion; return map; } } class ConfirmScanRequest extends TokenRequest{ String? scanCode; ConfirmScanRequest({ this.scanCode, String? token, }) : super( token: token, ); factory ConfirmScanRequest.fromJson(Map map) { return ConfirmScanRequest( scanCode: map['ScanCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(scanCode != null) map['ScanCode'] = scanCode; return map; } } enum CheckConfirmScanState { Wait, Success, Expire, } class CheckConfirmScanStateResult { CheckConfirmScanState checkConfirmScanState; LoginResult? loginResult; CheckConfirmScanStateResult({ this.checkConfirmScanState = CheckConfirmScanState.Wait, this.loginResult, }); factory CheckConfirmScanStateResult.fromJson(Map map) { return CheckConfirmScanStateResult( checkConfirmScanState: CheckConfirmScanState.values.firstWhere((e) => e.index == map['CheckConfirmScanState']), loginResult: map['LoginResult'] != null ? LoginResult.fromJson(map['LoginResult']) : null, ); } Map toJson() { final map = Map(); map['CheckConfirmScanState'] = checkConfirmScanState.index; if(loginResult != null) map['LoginResult'] = loginResult; return map; } } class CheckConfirmScanStateRequest { String? scanCode; CheckConfirmScanStateRequest({ this.scanCode, }); factory CheckConfirmScanStateRequest.fromJson(Map map) { return CheckConfirmScanStateRequest( scanCode: map['ScanCode'], ); } Map toJson() { final map = Map(); if(scanCode != null) map['ScanCode'] = scanCode; return map; } }