resetPassword method

Future<void> resetPassword(
  1. BuildContext context,
  2. String newPassword,
  3. String confirmPassword,
  4. String? applicationId,
  5. String? appSignature,
)

Implementation

Future<void> resetPassword(
    BuildContext context, String newPassword, String confirmPassword, String? applicationId, String? appSignature) async {
  try {
    isLoading.value = true;

    final resp = await ApiService.post(EnvConfig.generateToken, body: {
      "token": forgotToken,
      "newPassword": newPassword,
      "confirmPassword": confirmPassword
    });
    if (resp == null) {
      AppDialogs.showError('Error', 'Empty response from server');
      return;
    }
    final bool isSuccess = resp['code']?.toString() == '200';
    if (!isSuccess) {
      Get.snackbar(
        resp['message']?.toString() ?? "",
        resp['responseData']?.toString() ?? 'Unknown error',
        snackPosition: SnackPosition.BOTTOM,
        backgroundColor: Colors.red,
        duration: const Duration(seconds: 4),
      );
      return;
    } else {
      Get.snackbar(
        "Success",
        resp['message']?.toString() ?? "Password reset successfully",
      );
      Get.offAll(AuthScreen(
        applicationId: applicationId,
        appSignature: appSignature,
      ));
    }
  } catch (e) {
    Get.snackbar(
      "Error",
      "$e",
      snackPosition: SnackPosition.BOTTOM,
      backgroundColor: Colors.red,
      duration: const Duration(seconds: 4),
    );
  } finally {
    isLoading.value = false;
  }
}