import 'dart:convert'; import 'dart:developer'; import 'package:get/get.dart'; import 'package:onufitness/constants/api_endpoints.dart'; import 'package:onufitness/services/api_services/base_api_services.dart'; import 'package:onufitness/services/local_storage_services/shared_services.dart'; import 'package:onufitness/utils/custom_sneakbar.dart'; class MyAccountController extends GetxController { RxBool isLogoutLoading = false.obs; Future logout() async { var ret = false; isLogoutLoading(true); try { var userId = SharedServices.getLoginDetails()?.data?.userId.toString(); var response = await ApiBase.patchRequest( body: {"email": userId}, extendedURL: ApiUrl.logout, ); log(response.statusCode.toString()); if (response.statusCode == 200 || response.statusCode == 201) { ret = true; } else { ret = false; customSnackbar( title: "Error", message: "Logout failed. Please try again.", ); } } catch (e) { log("Logout Catch : ${e.toString()}"); customSnackbar( title: "Error", message: "Logout failed. Please try again.", ); ret = false; } isLogoutLoading(false); return ret; } // Get user coach request status.................................................... RxBool coachStatusLoading = false.obs; Future getCoachRequestStatus() async { var ret = false; coachStatusLoading(true); try { var response = await ApiBase.getRequest( extendedURL: "/api/Coaches/check-coach-request-status", ); if (response.statusCode == 200 || response.statusCode == 201) { final body = jsonDecode(response.body); if (body["message"] != null && body["message"].toString().isNotEmpty) { customSnackbar(title: "Info", message: body["message"], duration: 3); } ret = true; } else { ret = false; } } catch (e) { log("Coach Status Catch: ${e.toString()}"); ret = false; } finally { coachStatusLoading(false); } return ret; } }