#pragma once #include "application/interfaces/IOrderService.h" #include "domain/entities/Item.h" #include "autostore/ILogger.h" namespace nxl::autostore::infrastructure { class HttpOrderService : public application::IOrderService { public: explicit HttpOrderService(ILoggerPtr logger); virtual ~HttpOrderService(); void orderItem(const domain::Item& item) override; private: ILoggerPtr log; void sendPostRequest(std::string_view url, std::string_view payload); class Impl; std::unique_ptr impl; }; } // namespace nxl::autostore::infrastructure