#ifndef DOLIBARR_CLIENT_H #define DOLIBARR_CLIENT_H #include #include #include #include "DolibarrModels.h" struct WifiConfig { const char* ssid; const char* password; }; struct DolibarrConfig { const char* url; const char* api_key; }; class DolibarrClient { public: DolibarrClient(DolibarrConfig dolibarr_config); ~DolibarrClient() = default; std::vector *list_warehouse() const; models::Product *get_product_by_id(const char* id_product) const; models::Product get_product_by_factory_id(const char* uuid) const; int create_movement(models::CreateProductStock stock) const; private: HTTPClient* httpClient{}; struct DolibarrConfig dolibarr; int initialize_http_client(); HTTPClient *build_url(const String& url) const; }; #endif //DOLIBARR_CLIENT_H