#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; int login() const; std::vector *list_warehouse() const; std::vector *list_products() const; models::Product *get_product_by_id(const char* id_product) 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