#ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_UPDATE_SERVICE_H_
#define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_UPDATE_SERVICE_H_

#include <string>
#include <string_view>

#include "tlbmc/redfish/app.h"
#include "tlbmc/redfish/request.h"
#include "tlbmc/redfish/response.h"

namespace milotic_tlbmc::update_service {

// Exposed for testing only. Do not use this function directly.
namespace internal {
void HandleMultipartUpdate(std::string_view bundle_file_path_prefix,
                           const RedfishRequest& req, RedfishResponse& resp);
}  // namespace internal

void RegisterRoutes(RedfishApp& app);
void RegisterRoutesForUnitTest(
    RedfishApp& app, const std::string& install_inventory_path_prefix);

}  // namespace milotic_tlbmc::update_service

#endif  // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_UPDATE_SERVICE_H_
