Adding preferences.

This commit is contained in:
stephb9959
2021-11-16 17:52:39 -08:00
parent 0477ab5349
commit a575d95b91
4 changed files with 14 additions and 11 deletions

2
build
View File

@@ -1 +1 @@
1
3

View File

@@ -450,11 +450,12 @@ namespace OpenWifi::RESTAPI_utils {
try {
Poco::JSON::Parser P;
auto Object = P.parse(S).template extract<Poco::JSON::Array::Ptr>();
for (auto const &i : *Object) {
for (const auto &i : *Object) {
auto InnerObject = i.template extract<Poco::JSON::Array::Ptr>();
if(InnerObject->size()==2) {
Types::StringPair P{InnerObject->get(0).toString(), InnerObject->get(1).toString()};
R.push_back(P);
auto S1 = InnerObject->getElement<std::string>(0);
auto S2 = InnerObject->getElement<std::string>(1);
R.push_back(std::make_pair(S1,S2));
}
}
} catch (...) {

View File

@@ -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<Poco::JSON::Array::Ptr>();
for(const auto &j:*Inner) {
auto S1 = i[0].toString();
auto S2 = i[1].toString();
if(Inner->size()==2) {
auto S1 = Inner->getElement<std::string>(0);
auto S2 = Inner->getElement<std::string>(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 {

View File

@@ -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),