Files
Regroup/lib/onboarding/Signup/view_model/getUserprofile.dart
2024-07-25 15:40:33 +05:30

74 lines
2.8 KiB
Dart

import 'dart:convert';
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/Utils/dialogs.dart';
import 'package:regroup/onboarding/Signup/Model/GetUserdetailsModel.dart';
import 'package:regroup/resources/routes/route_name.dart';
import 'package:shared_preferences/shared_preferences.dart';
GetuserdetailsModel? getuserobj;
class Getuserdetails {
Getuserdetails();
Future<ResponseData<dynamic>> Getuser() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
final response = await NetworkApiServices().getApi(ApiUrls.getuserdetails);
if (response.status == ResponseStatus.SUCCESS) {
dynamic responseData = response.data;
if (responseData is Map<String, dynamic>) {
// Assuming response data is a map
getuserobj = GetuserdetailsModel.fromJson(responseData);
await prefs.setString('fullname', getuserobj?.data?.userData?.fullName ?? "");
await prefs.setString('username', getuserobj?.data?.userData?.userName ?? "");
await prefs.setString('email', getuserobj?.data?.userData?.emailAddress ?? "");
await prefs.setString('phone', getuserobj?.data?.userData?.phoneNumber ?? "");
await prefs.setString('accountTypefromLogin',
getuserobj?.data?.userData?.principalTypeXid.toString() ?? "");
emailid = prefs.getString('email');
myusername = prefs.getString('username');
fullname = prefs.getString('fullname');
phonenumber = prefs.getString('phone');
} else if (responseData is String) {
// Parse the JSON string into a map
Map<String, dynamic> jsonMap;
try {
jsonMap = json.decode(responseData);
} catch (e) {
return ResponseData<dynamic>(
"Error decoding JSON string: $responseData",
ResponseStatus.FAILED);
}
await prefs.setString('fullname', getuserobj?.data?.userData?.fullName ?? "");
await prefs.setString('username', getuserobj?.data?.userData?.userName ?? "");
await prefs.setString('email', getuserobj?.data?.userData?.emailAddress ?? "");
await prefs.setString('phone', getuserobj?.data?.userData?.phoneNumber ?? "");
emailid = prefs.getString('email');
myusername = prefs.getString('username');
fullname = prefs.getString('fullname');
phonenumber = prefs.getString('phone');
} else {
// Handle other types if necessary
return ResponseData<dynamic>(
"Unexpected response format", ResponseStatus.FAILED);
}
}
return response;
}
}