#ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CHASSIS_H_
#define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CHASSIS_H_

#include "nlohmann/json_fwd.hpp"
#include "topology_config.pb.h"
#include "tlbmc/redfish/app.h"
#include "tlbmc/redfish/response.h"
#include "fru.pb.h"

namespace milotic_tlbmc::chassis {

// Fills the response as a Redfish Chassis resource type with the FRU data.
// The chassis_pointer is the json pointer to the Chassis resource in the
// response.
void FillResponseWithFruData(
    const nlohmann::json::json_pointer& chassis_pointer, const Fru* fru_ptr,
    const TopologyConfigNode* topology_config_node_ptr, RedfishResponse& resp);

void RegisterRoutes(RedfishApp& app);

}  // namespace milotic_tlbmc::chassis

#endif  // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CHASSIS_H_
