|
|
|
@ -1,9 +1,11 @@
|
|
|
|
|
import 'dart:convert';
|
|
|
|
|
|
|
|
|
|
import 'package:device_info_plus/device_info_plus.dart';
|
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:http/http.dart';
|
|
|
|
|
import 'package:huawei_fido/huawei_fido.dart';
|
|
|
|
|
import 'package:local_auth/local_auth.dart';
|
|
|
|
|
import 'package:mc_common_app/classes/app_state.dart';
|
|
|
|
|
import 'package:mc_common_app/classes/consts.dart';
|
|
|
|
@ -331,51 +333,92 @@ class UserVM extends BaseVM {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<void> performBasicOtpLoginSelectionPage(BuildContext context, {required String userToken, required AppType appType}) async {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, "1");
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
if (user.messageStatus == 1) {
|
|
|
|
|
showMDialog(context, child: OtpDialog(
|
|
|
|
|
onClick: (String code) async {
|
|
|
|
|
pop(context);
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", code);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (verifiedUser.messageStatus == 1) {
|
|
|
|
|
User user = User.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (appType == AppType.provider) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 5 || user.data!.userInfo!.roleId == 6) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("LocaleKeys.onlyProviderApp.tr()");
|
|
|
|
|
//("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
} else if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
Future<void> performBasicOtpLoginSelectionPage(BuildContext context, {required String userToken, required AppType appType, String? loginType}) async {
|
|
|
|
|
if (loginType == "3" || loginType == "4") {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, loginType!);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
if (user.messageStatus == 1) {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", "9999");
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (verifiedUser.messageStatus == 1) {
|
|
|
|
|
User user = User.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (appType == AppType.provider) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 5 || user.data!.userInfo!.roleId == 6) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("LocaleKeys.onlyProviderApp.tr()");
|
|
|
|
|
//("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
} else if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast(verifiedUser.message ?? "");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
));
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast(verifiedUser.message ?? "");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast(user.message ?? "");
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
LoginPasswordRespModel user = await userRepo.loginV2OTP(userToken, "1");
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
if (user.messageStatus == 1) {
|
|
|
|
|
showMDialog(context, child: OtpDialog(
|
|
|
|
|
onClick: (String code) async {
|
|
|
|
|
pop(context);
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
Response response2 = await userRepo.loginV2OTPVerify(user.data!.userToken ?? "", code);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
RegisterUserRespModel verifiedUser = RegisterUserRespModel.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (verifiedUser.messageStatus == 1) {
|
|
|
|
|
User user = User.fromJson(jsonDecode(response2.body));
|
|
|
|
|
if (appType == AppType.provider) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 5 || user.data!.userInfo!.roleId == 6) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("LocaleKeys.onlyProviderApp.tr()");
|
|
|
|
|
//("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
} else if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
if (user.data!.userInfo!.roleId == 4) {
|
|
|
|
|
AppState().setUser = user;
|
|
|
|
|
SharedPrefManager.setUserToken(user.data!.accessToken ?? "");
|
|
|
|
|
SharedPrefManager.setUserId(user.data!.userInfo!.userId ?? "");
|
|
|
|
|
SharedPrefManager.setRefreshToken(user.data!.refreshToken ?? "");
|
|
|
|
|
SharedPrefManager.setData(jsonEncode(user.data!.userInfo!.toJson()));
|
|
|
|
|
navigateReplaceWithName(context, AppRoutes.dashboard);
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast("Sorry, Only Customer's can log in this app");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast(verifiedUser.message ?? "");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
));
|
|
|
|
|
} else {
|
|
|
|
|
Utils.showToast(user.message ?? "");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -515,10 +558,15 @@ class UserVM extends BaseVM {
|
|
|
|
|
// Aamir Code
|
|
|
|
|
List<BiometricType>? availBio;
|
|
|
|
|
|
|
|
|
|
Future<void> verifiyAuth({BuildContext? context, String? userToken, AppType? apptype}) async {
|
|
|
|
|
Future<void> verifiyAuth({
|
|
|
|
|
BuildContext? context,
|
|
|
|
|
String? userToken,
|
|
|
|
|
AppType? apptype,
|
|
|
|
|
String? loginType,
|
|
|
|
|
}) async {
|
|
|
|
|
bool auth = await CommonAuthImp().authenticate();
|
|
|
|
|
if (auth) {
|
|
|
|
|
performBasicOtpLoginSelectionPage(context!, userToken: userToken!, appType: apptype!);
|
|
|
|
|
performBasicOtpLoginSelectionPage(context!, userToken: userToken!, appType: apptype!, loginType: loginType);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -527,7 +575,6 @@ class UserVM extends BaseVM {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool isBioAvailable(BiometricType bioType) {
|
|
|
|
|
logger.d(availBio);
|
|
|
|
|
if (availBio == null) return true;
|
|
|
|
|
if (availBio!.contains(bioType)) {
|
|
|
|
|
return false;
|
|
|
|
|