// // Created by stephane bourque on 2023-09-15. // #pragma once #include "StorageService.h" #include "framework/RESTAPI_Handler.h" namespace OpenWifi { class RESTAPI_openroaming_orion_acct_handler : public RESTAPIHandler { public: RESTAPI_openroaming_orion_acct_handler(const RESTAPIHandler::BindingMap &bindings, Poco::Logger &L, RESTAPI_GenericServerAccounting &Server, uint64_t TransactionId, bool Internal) : RESTAPIHandler(bindings, L, std::vector{Poco::Net::HTTPRequest::HTTP_GET, Poco::Net::HTTPRequest::HTTP_DELETE, Poco::Net::HTTPRequest::HTTP_POST, Poco::Net::HTTPRequest::HTTP_PUT, Poco::Net::HTTPRequest::HTTP_OPTIONS}, Server, TransactionId, Internal) {} static auto PathName() { return std::list{"/api/v1/openroaming/orion/account/{id}"}; }; private: using RecordType = ProvObjects::GooglOrionAccountInfo; OrionAccountsDB &DB_ = StorageService()->OrionAccountsDB(); void DoGet() final; void DoPost() final; void DoPut() final; void DoDelete() final; }; } // namespace OpenWifi