From 52c0c9d8f81f44ed4c38524ef0fb39cbccd74ea0 Mon Sep 17 00:00:00 2001 From: structix Date: Sat, 16 Sep 2017 00:02:36 +0200 Subject: [PATCH] Added Database connection --- RestServer/humidityserver/src/datatypes.h | 51 +++++++++++++++++++ .../humidityserver/src/humidityserver.cpp | 50 +++++++++++++++++- .../humidityserver/src/humidityserver.h | 5 ++ 3 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 RestServer/humidityserver/src/datatypes.h diff --git a/RestServer/humidityserver/src/datatypes.h b/RestServer/humidityserver/src/datatypes.h new file mode 100644 index 0000000..6aac665 --- /dev/null +++ b/RestServer/humidityserver/src/datatypes.h @@ -0,0 +1,51 @@ +#ifndef DATATYPES_H +#define DATATYPES_H + +#include + +#include + +namespace ngrest { +namespace humidityserver { + +// *table: stats +struct stat +{ + // *pk: true + // *autoincrement: true + int id; + + // *unique: false + // *type: int + int node_id; + + // *unique: false + // *type: int + int pin; + + // *unique: false + // *type: float + float humidity; + + // *unique: false + // *type: float + float temperature; + + // *unique: false + // *type: int + int isoutside; + + // *unique: false + // *type: float + float gm3; + + // *type: timestamp + // *default: CURRENT_TIMESTAMP + // *ignoreOnInsert: true + std::string created_at; +}; + +} // namespace humidityserver +} // namespace ngrest + +#endif diff --git a/RestServer/humidityserver/src/humidityserver.cpp b/RestServer/humidityserver/src/humidityserver.cpp index 83de0f4..1ef267a 100644 --- a/RestServer/humidityserver/src/humidityserver.cpp +++ b/RestServer/humidityserver/src/humidityserver.cpp @@ -3,12 +3,58 @@ #include "humidityserver.h" #include "calculate.h" +#include + +//#include "datatypes.h" /*std::string humidityserver::echo(const std::string& text) { return "Hi, " + text; }*/ -float humidityserver::absolutehumidity(float temperature, float humidity) { +struct stat +{ + // *pk: true + // *autoincrement: true + int id; + + // *unique: false + // *type: int + int node_id; + + // *unique: false + // *type: int + int pin; - return absoluteHumidityFloat(temperature, humidity); + // *unique: false + // *type: float + float humidity; + + // *unique: false + // *type: float + float temperature; + + // *unique: false + // *type: int + int isoutside; + + // *unique: false + // *type: float + float gm3; + + // *type: timestamp + // *default: CURRENT_TIMESTAMP + // *ignoreOnInsert: true + std::string created_at; +}; + +float humidityserver::absolutehumidity(float temperature, float humidity) { + ngrest::MySqlDb mysqlDb({"stats", "dhtuser", "raspberry"}); + ngrest::Table stats(&mySqlDb); + //Format: node_id, pin, humidity, temperature, gm3, isoutside + int node_id = 1; + int pin = 0; + int isoutside = 0; + float absHum = absoluteHumidityFloat(temperature, humidity); + stats.insert({node_id, pin, humidity, temperature, absHum, isoutside}); + return absHum; } diff --git a/RestServer/humidityserver/src/humidityserver.h b/RestServer/humidityserver/src/humidityserver.h index d225f87..cdbf2bf 100644 --- a/RestServer/humidityserver/src/humidityserver.h +++ b/RestServer/humidityserver/src/humidityserver.h @@ -4,6 +4,8 @@ #ifndef HUMIDITYSERVER_H #define HUMIDITYSERVER_H +#include +#include #include //! Dummy description for the service @@ -16,6 +18,9 @@ public: // *method: GET // *location: /abshum?temperature={temperature}&humidity={humidity} float absolutehumidity(float temperature, float humidity); +private: + //Format: Table, User, Password + };