onufitness_mobile/lib/screens/accounts/Controllers/my_account_controller.dart
2026-01-13 11:36:24 +05:30

75 lines
2.1 KiB
Dart

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