blob: e03047aac456c95635e3c3892ed4b710ba0925a6 [file] [log] [blame]
#pragma once
#include "app.hpp"
#include "error_messages.hpp"
#include "http_request.hpp"
#include "http_response.hpp"
#include "query.hpp"
#include "registries/privilege_registry.hpp"
#include <nlohmann/json.hpp>
#include <functional>
#include <memory>
namespace redfish
{
inline void handleAggregationServiceHead(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
{
if (!redfish::setUpRedfishRoute(app, req, asyncResp))
{
return;
}
asyncResp->res.addHeader(
boost::beast::http::field::link,
"</redfish/v1/JsonSchemas/AggregationService/AggregationService.json>; rel=describedby");
}
inline void handleAggregationServiceGet(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
{
if (!redfish::setUpRedfishRoute(app, req, asyncResp))
{
return;
}
asyncResp->res.addHeader(
boost::beast::http::field::link,
"</redfish/v1/JsonSchemas/AggregationService/AggregationService.json>; rel=describedby");
nlohmann::json& json = asyncResp->res.jsonValue;
json["@odata.id"] = "/redfish/v1/AggregationService";
json["@odata.type"] = "#AggregationService.v1_0_1.AggregationService";
json["Id"] = "AggregationService";
json["Name"] = "Aggregation Service";
json["Description"] = "Aggregation Service";
json["ServiceEnabled"] = true;
}
inline void requestAggregationServiceRoutes(App& app)
{
BMCWEB_ROUTE(app, "/redfish/v1/AggregationService/")
.privileges(redfish::privileges::headAggregationService)
.methods(boost::beast::http::verb::head)(
std::bind_front(handleAggregationServiceHead, std::ref(app)));
BMCWEB_ROUTE(app, "/redfish/v1/AggregationService/")
.privileges(redfish::privileges::getAggregationService)
.methods(boost::beast::http::verb::get)(
std::bind_front(handleAggregationServiceGet, std::ref(app)));
}
} // namespace redfish