1*07148cf2SLukasz Kazmierczak #pragma once 2*07148cf2SLukasz Kazmierczak 3*07148cf2SLukasz Kazmierczak #include "utils/collection.hpp" 4*07148cf2SLukasz Kazmierczak #include "utils/telemetry_utils.hpp" 5*07148cf2SLukasz Kazmierczak 6*07148cf2SLukasz Kazmierczak #include <app.hpp> 7*07148cf2SLukasz Kazmierczak #include <registries/privilege_registry.hpp> 8*07148cf2SLukasz Kazmierczak 9*07148cf2SLukasz Kazmierczak namespace redfish 10*07148cf2SLukasz Kazmierczak { 11*07148cf2SLukasz Kazmierczak namespace telemetry 12*07148cf2SLukasz Kazmierczak { 13*07148cf2SLukasz Kazmierczak constexpr const char* triggerInterface = 14*07148cf2SLukasz Kazmierczak "xyz.openbmc_project.Telemetry.Trigger"; 15*07148cf2SLukasz Kazmierczak constexpr const char* triggerUri = "/redfish/v1/TelemetryService/Triggers"; 16*07148cf2SLukasz Kazmierczak 17*07148cf2SLukasz Kazmierczak } // namespace telemetry 18*07148cf2SLukasz Kazmierczak 19*07148cf2SLukasz Kazmierczak inline void requestRoutesTriggerCollection(App& app) 20*07148cf2SLukasz Kazmierczak { 21*07148cf2SLukasz Kazmierczak BMCWEB_ROUTE(app, "/redfish/v1/TelemetryService/Triggers/") 22*07148cf2SLukasz Kazmierczak .privileges(redfish::privileges::getTriggersCollection) 23*07148cf2SLukasz Kazmierczak .methods(boost::beast::http::verb::get)( 24*07148cf2SLukasz Kazmierczak [](const crow::Request&, 25*07148cf2SLukasz Kazmierczak const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) { 26*07148cf2SLukasz Kazmierczak asyncResp->res.jsonValue["@odata.type"] = 27*07148cf2SLukasz Kazmierczak "#TriggersCollection.TriggersCollection"; 28*07148cf2SLukasz Kazmierczak asyncResp->res.jsonValue["@odata.id"] = 29*07148cf2SLukasz Kazmierczak "/redfish/v1/TelemetryService/Triggers"; 30*07148cf2SLukasz Kazmierczak asyncResp->res.jsonValue["Name"] = "Triggers Collection"; 31*07148cf2SLukasz Kazmierczak const std::vector<const char*> interfaces{ 32*07148cf2SLukasz Kazmierczak telemetry::triggerInterface}; 33*07148cf2SLukasz Kazmierczak collection_util::getCollectionMembers( 34*07148cf2SLukasz Kazmierczak asyncResp, telemetry::triggerUri, interfaces, 35*07148cf2SLukasz Kazmierczak "/xyz/openbmc_project/Telemetry/Triggers/TelemetryService"); 36*07148cf2SLukasz Kazmierczak }); 37*07148cf2SLukasz Kazmierczak } 38*07148cf2SLukasz Kazmierczak 39*07148cf2SLukasz Kazmierczak } // namespace redfish 40