#ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_SENSOR_H_
#define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_SENSOR_H_

#include <memory>

#include "nlohmann/json.hpp"
#include "tlbmc/redfish/app.h"
#include "tlbmc/redfish/response.h"
#include "tlbmc/sensors/sensor.h"

namespace milotic_tlbmc::sensor {

// Fills the response as a Redfish Sensor resource type with the sensor data.
// The sensor_pointer is the json pointer to the sensor resource in the
// response.
void FillResponseWithSensorData(
    const std::shared_ptr<const Sensor>& sensor,
    const nlohmann::json::json_pointer& sensor_pointer, RedfishResponse& resp);

void RegisterRoutes(RedfishApp& app);

}  // namespace milotic_tlbmc::sensor

#endif  // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_SENSOR_H_
