Files
Regroup/lib/Login/ViewModel/LoginApi.dart
2024-07-12 19:33:07 +05:30

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;
}
}