Files
Traders_Circuit/lib/view_model/ProfileAPI/GetProfileApi.dart

43 lines
1.4 KiB
Dart
Raw Normal View History

2024-04-19 13:26:04 +05:30
import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:traderscircuit/Utils/api_urls.dart';
import 'package:traderscircuit/Utils/base_manager.dart';
import 'package:traderscircuit/data/network/network_api_services.dart';
import 'package:traderscircuit/model/ProfileModel/GetProfileModel.dart';
ProfileModel? ProfileObj;
class GetProfile {
GetProfile();
Future<ResponseData<dynamic>> GetProfileAPI() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
final response = await NetworkApiServices().getApi(ApiUrls.Getprofile);
if (response.status == ResponseStatus.SUCCESS) {
dynamic responseData = response.data;
if (responseData is Map<String, dynamic>) {
// Assuming response data is a map
ProfileObj = ProfileModel.fromJson(responseData);
} 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);
}
} else {
// Handle other types if necessary
return ResponseData<dynamic>(
"Unexpected response format", ResponseStatus.FAILED);
}
}
return response;
}
}