96 lines
3.5 KiB
Dart
96 lines
3.5 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/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) {
|
|
if (response.data['status'] == 'success') {
|
|
LoginModel loginObj = LoginModel.fromJson(response.data);
|
|
await prefs.setString('access-token', loginObj.data!.accessToken!);
|
|
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;
|
|
|
|
print("token is ${loginObj.data!.accessToken!}");
|
|
|
|
if (loginObj.data?.userData?.isProfileUpdated == 0) {
|
|
String? 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']);
|
|
if (response.data['data']['is_account_type_updated'] == 3) {
|
|
return ResponseData<dynamic>(
|
|
"go-to-signin-via-oauth", ResponseStatus.SUCCESS);
|
|
} else {
|
|
return ResponseData<dynamic>("go-to-login", ResponseStatus.SUCCESS);
|
|
}
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
Future<ResponseData> storeUserDetailsWhenComingFromGoogleAppleSignin(
|
|
var data) async {
|
|
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
final response = await NetworkApiServices()
|
|
.postApi(data, ApiUrls.storeDetailsOfOAuth, optionalpar: true);
|
|
if (response.status == ResponseStatus.SUCCESS) {}
|
|
|
|
return response;
|
|
}
|
|
}
|