35 lines
862 B
C++
35 lines
862 B
C++
#ifndef DOLIBARR_CLIENT_H
|
|
#define DOLIBARR_CLIENT_H
|
|
|
|
#include <WiFi.h>
|
|
#include <HTTPClient.h>
|
|
#include <vector>
|
|
#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<models::Warehouse> *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
|