187 lines
7.2 KiB
Dart
187 lines
7.2 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:regroup/Common/api_urls.dart';
|
|
import 'package:regroup/Common/base_manager.dart';
|
|
import 'package:regroup/Common/controller/data/network/network_api.dart';
|
|
import 'package:regroup/Global.dart';
|
|
import 'package:regroup/Login/Model/LoginModel.dart';
|
|
import 'package:regroup/Main_Screens/Community/ViewModel/getmethod.dart';
|
|
import 'package:regroup/onboarding/Signup/view_model/getUserprofile.dart';
|
|
import 'package:regroup/resources/routes/route_name.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class LoginAPI {
|
|
Future<ResponseData> loginApi(var data) async {
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.getlogin, optionalpar: true);
|
|
|
|
if (response.status == ResponseStatus.SUCCESS) {
|
|
String? accountype;
|
|
if (response.data['status'] == 'success') {
|
|
LoginModel loginObj = LoginModel.fromJson(response.data);
|
|
await prefs.setString('access-token', loginObj.data!.accessToken!);
|
|
await Communityallgetmethod().getLikeicons();
|
|
await prefs.setString(
|
|
'fullname', loginObj.data?.userData?.fullName ?? "");
|
|
await prefs.setString(
|
|
'username', loginObj.data?.userData?.userName ?? "");
|
|
await prefs.setString(
|
|
'email', loginObj.data?.userData?.emailAddress ?? "");
|
|
await prefs.setString(
|
|
'phone', loginObj.data?.userData?.phoneNumber ?? "");
|
|
|
|
token = loginObj.data!.accessToken;
|
|
emailid = loginObj.data?.userData?.emailAddress;
|
|
myusername = loginObj.data?.userData?.userName;
|
|
fullname = loginObj.data?.userData?.fullName;
|
|
phonenumber = loginObj.data?.userData?.phoneNumber;
|
|
await prefs.setString('accountTypefromLogin',
|
|
loginObj.data?.userData?.principalTypeXid.toString() ?? "");
|
|
globalAccountType =
|
|
loginObj.data?.userData?.principalTypeXid.toString();
|
|
await prefs.setString('accountTypeValue',
|
|
loginObj.data?.userData?.principalTypeXid.toString() ?? "");
|
|
print("token is ${loginObj.data!.accessToken!}");
|
|
|
|
if (loginObj.data?.userData?.isProfileUpdated == 0) {
|
|
accountype = loginObj.data?.userData?.principalTypeXid.toString();
|
|
|
|
if (accountype == "1") {
|
|
print('tell us individyal');
|
|
Get.toNamed(
|
|
RouteName.tellusindividualscreen,
|
|
// arguments: {
|
|
// 'pageroute' : "mainscreen"
|
|
// }
|
|
);
|
|
} else if (accountype == "2") {
|
|
print('tell us business');
|
|
|
|
Get.toNamed(
|
|
RouteName.tellusbusinessscreen,
|
|
// arguments: {
|
|
// 'pageroute' : "mainscreen"
|
|
// }
|
|
);
|
|
}
|
|
} else {
|
|
Get.toNamed(RouteName.mainscreen);
|
|
}
|
|
} else {
|
|
return ResponseData<dynamic>(
|
|
response.data['message'], ResponseStatus.FAILED);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
Future<ResponseData> storeGoogleSignin(var data) async {
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.googlelogin, optionalpar: true);
|
|
if (response.status == ResponseStatus.SUCCESS) {
|
|
await prefs.setString('access-token', response.data['data']['token']);
|
|
await Communityallgetmethod().getLikeicons();
|
|
if (response.data['data']['is_account_type_updated'] == 3) {
|
|
return ResponseData<dynamic>(
|
|
"go-to-signin-via-oauth", ResponseStatus.SUCCESS,
|
|
data: response.data['data']['email']);
|
|
} else {
|
|
return ResponseData<dynamic>("go-to-login", ResponseStatus.SUCCESS);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
Future<ResponseData> storeAppleSignin(var data,
|
|
{String? emailReceived}) async {
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.applelogin, optionalpar: true);
|
|
if (response.status == ResponseStatus.SUCCESS) {
|
|
await prefs.setString('access-token', response.data['data']['token']);
|
|
await Communityallgetmethod().getLikeicons();
|
|
if (response.data['data']['is_account_type_updated'] == 3) {
|
|
Get.toNamed(RouteName.verifygoogleapplepage,
|
|
arguments: {"email": emailReceived});
|
|
return ResponseData<dynamic>(
|
|
"go-to-signin-via-oauth", ResponseStatus.SUCCESS);
|
|
} else {
|
|
await Getuserdetails().Getuser().then((value) {
|
|
if (getuserobj?.data?.userData?.isProfileUpdated == 0) {
|
|
String? accountype =
|
|
getuserobj?.data?.userData?.principalTypeXid.toString();
|
|
|
|
if (accountype == "1") {
|
|
Get.toNamed(RouteName.tellusindividualscreen,
|
|
arguments: {'pageroute': "mainscreen"});
|
|
} else if (accountype == "2") {
|
|
Get.toNamed(RouteName.tellusbusinessscreen,
|
|
arguments: {'pageroute': "mainscreen"});
|
|
}
|
|
} else {
|
|
Get.toNamed(RouteName.mainscreen, arguments: 0);
|
|
}
|
|
});
|
|
// Get.toNamed(RouteName.mainscreen);
|
|
return ResponseData<dynamic>("go-to-login", ResponseStatus.SUCCESS);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
Future<ResponseData> storeFacebookSignin(var data,
|
|
{String? emailReceived}) async {
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.facebooklogin, optionalpar: true);
|
|
if (response.status == ResponseStatus.SUCCESS) {
|
|
await prefs.setString('access-token', response.data['data']['token']);
|
|
await Communityallgetmethod().getLikeicons();
|
|
if (response.data['data']['is_account_type_updated'] == 3) {
|
|
Get.toNamed(RouteName.verifygoogleapplepage,
|
|
arguments: {"email": emailReceived});
|
|
return ResponseData<dynamic>(
|
|
"go-to-signin-via-oauth", ResponseStatus.SUCCESS);
|
|
} else {
|
|
// Get.toNamed(RouteName.mainscreen);
|
|
|
|
await Getuserdetails().Getuser().then((value) {
|
|
if (getuserobj?.data?.userData?.isProfileUpdated == 0) {
|
|
String? accountype =
|
|
getuserobj?.data?.userData?.principalTypeXid.toString();
|
|
|
|
if (accountype == "1") {
|
|
Get.toNamed(RouteName.tellusindividualscreen,
|
|
arguments: {'pageroute': "mainscreen"});
|
|
} else if (accountype == "2") {
|
|
Get.toNamed(RouteName.tellusbusinessscreen,
|
|
arguments: {'pageroute': "mainscreen"});
|
|
}
|
|
} else {
|
|
Get.toNamed(RouteName.mainscreen, arguments: 0);
|
|
}
|
|
});
|
|
return ResponseData<dynamic>("go-to-login", ResponseStatus.SUCCESS);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
Future<ResponseData> storeUserDetailsWhenComingFromGoogleAppleSignin(
|
|
var data) async {
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.storeDetailsOfOAuth, optionalpar: false);
|
|
if (response.status == ResponseStatus.SUCCESS) {
|
|
return ResponseData<dynamic>(
|
|
response.data['message'], ResponseStatus.SUCCESS);
|
|
}
|
|
|
|
return response;
|
|
}
|
|
}
|