activateDeactivateUser method

Future<void> activateDeactivateUser(
  1. Passengers passenger
)

Implementation

Future<void> activateDeactivateUser(Passengers passenger) async {
  if (passenger.isActive == false &&
      (authenticationController.userProfileModel.value.data
                  ?.totalUnusedAdultPassengerLimit ??
              0) <=
          0) {
    CustomFlashWidget.showFlashMessage(
      type: FlashType.error,
      title: "Error",
      message:
          "You cannot add or activate more passengers as your passenger limit has been reached. Please upgrade or add to your subscription.",
    );
    return;
  }

  var response = await Requests.getDio().patch(
      "passengers/${passenger.id}/${passenger.isActive == true ? 'deactivate' : 'activate'}");

  if (response.statusCode == 200) {
    Passengers updatedPassengerData =
        Passengers.fromJson(response.data['data']);
    int index = passengerList.value.data!
        .indexWhere((p) => p.id == updatedPassengerData.id);
    if (index != -1) {
      passengerList.value.data![index] = updatedPassengerData;
      performPagination();
    }
    print('Passenger updated successfully in the list.');
  } else {
    print('Failed to activate/deactivate passenger.');
  }
}