#include "list_cmd.hpp"

#include "actions.hpp"
#include "args.hpp"
#include "settings.hpp"
#include "utils/error.hpp"
#include "utils/string.hpp"

namespace monitarr {
auto list_cmd(int argc, char **argv, const app_config &cfg) -> int {
  MONITARR_USES_FUNCTION_NAME();

  auto idx = get_arg("-i", argc, argv);
  if (not idx.has_value()) {
    utils::error::handle_error(function_name, "'-i <index>' is required");
    return 3;
  }

  auto &server = cfg.server_list.at(utils::string::to_uint64(*idx));

  utils::error::handle_info(
      function_name, fmt::format("list queue|{}|{}", server.id, server.url));
  return list_queue(server);
}
} // namespace monitarr
