From a575d95b911373a1001824adf523cdaf89ecb906 Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Tue, 16 Nov 2021 17:52:39 -0800 Subject: [PATCH] Adding preferences. --- build | 2 +- src/framework/MicroService.h | 7 ++++--- src/framework/OpenWifiTypes.h | 8 +++++--- src/storage/storage_preferences.cpp | 8 ++++---- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/build b/build index 56a6051..e440e5c 100644 --- a/build +++ b/build @@ -1 +1 @@ -1 \ No newline at end of file +3 \ No newline at end of file diff --git a/src/framework/MicroService.h b/src/framework/MicroService.h index 935b57c..5cdfd24 100644 --- a/src/framework/MicroService.h +++ b/src/framework/MicroService.h @@ -450,11 +450,12 @@ namespace OpenWifi::RESTAPI_utils { try { Poco::JSON::Parser P; auto Object = P.parse(S).template extract(); - for (auto const &i : *Object) { + for (const auto &i : *Object) { auto InnerObject = i.template extract(); if(InnerObject->size()==2) { - Types::StringPair P{InnerObject->get(0).toString(), InnerObject->get(1).toString()}; - R.push_back(P); + auto S1 = InnerObject->getElement(0); + auto S2 = InnerObject->getElement(1); + R.push_back(std::make_pair(S1,S2)); } } } catch (...) { diff --git a/src/framework/OpenWifiTypes.h b/src/framework/OpenWifiTypes.h index 8952de6..9ae111a 100644 --- a/src/framework/OpenWifiTypes.h +++ b/src/framework/OpenWifiTypes.h @@ -54,6 +54,7 @@ namespace OpenWifi::Types { return SS.str(); } +/* inline std::string to_string( const StringPairVec &V) { Poco::JSON::Array O; for(const auto &i:V) { @@ -75,9 +76,9 @@ namespace OpenWifi::Types { for(const auto &i:*O) { auto Inner = i.extract(); - for(const auto &j:*Inner) { - auto S1 = i[0].toString(); - auto S2 = i[1].toString(); + if(Inner->size()==2) { + auto S1 = Inner->getElement(0); + auto S2 = Inner->getElement(1); V.push_back(std::make_pair(S1,S2)); } } @@ -85,6 +86,7 @@ namespace OpenWifi::Types { } } +*/ inline void from_string(const std::string &S, StringVec &V) { try { diff --git a/src/storage/storage_preferences.cpp b/src/storage/storage_preferences.cpp index 9c4478a..4b93e7a 100644 --- a/src/storage/storage_preferences.cpp +++ b/src/storage/storage_preferences.cpp @@ -9,13 +9,13 @@ namespace OpenWifi { void Convert(const PreferencesRecord &R,SecurityObjects::Preferences &P ) { P.id = R.get<0>(); P.modified = R.get<1>(); - OpenWifi::Types::from_string(R.get<2>(), P.data); + P.data = OpenWifi::RESTAPI_utils::to_stringpair_array(R.get<2>()); } void Convert(const SecurityObjects::Preferences &P, PreferencesRecord &R ) { R.set<0>(P.id); R.set<1>(P.modified); - R.set<2>(OpenWifi::Types::to_string(P.data)); + R.set<2>(OpenWifi::RESTAPI_utils::to_string(P.data)); } bool Storage::GetPreferences(std::string &Id, SecurityObjects::Preferences &P) { @@ -27,11 +27,11 @@ namespace OpenWifi { std::string St2{"SELECT " + AllPreferencesFieldsForSelect + " From Preferences WHERE Id=?"}; PreferencesRecord R; - Select << ConvertParams(St2), Poco::Data::Keywords::into(R), Poco::Data::Keywords::use(Id); Select.execute(); + Convert(R,P); return true; } catch (const Poco::Exception &E) { @@ -51,7 +51,7 @@ namespace OpenWifi { }; P.modified = time(nullptr); - std::string Data = OpenWifi::Types::to_string(P.data); + std::string Data = OpenWifi::RESTAPI_utils::to_string(P.data); InsertOrUpdate << ConvertParams(InsertOrReplace), Poco::Data::Keywords::use(P.id),