From d93f1348c8c1e2d3143e2bcff3218685c21202ce Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Tue, 26 Apr 2022 11:06:24 -0700 Subject: [PATCH] Adding new registration processing for signup. --- src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp | 2 +- src/RESTObjects/RESTAPI_ProvObjects.cpp | 5 +++++ src/RESTObjects/RESTAPI_ProvObjects.h | 2 ++ src/storage/storage_sub_devices.cpp | 16 +++++++++++----- src/storage/storage_sub_devices.h | 2 ++ 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp b/src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp index 1ef4c19..16fb52c 100644 --- a/src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp +++ b/src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp @@ -12,7 +12,7 @@ namespace OpenWifi { auto operatorId=GetParameter("operatorId"); auto subscriberId=GetParameter("subscriberId"); - if(operatorId.empty() || !StorageService()->OperatorDB().Exists("id",operatorId)) { + if(!operatorId.empty() && !StorageService()->OperatorDB().Exists("id",operatorId)) { return BadRequest(RESTAPI::Errors::OperatorIdMustExist); } diff --git a/src/RESTObjects/RESTAPI_ProvObjects.cpp b/src/RESTObjects/RESTAPI_ProvObjects.cpp index 5eb0c2c..91e5a4a 100644 --- a/src/RESTObjects/RESTAPI_ProvObjects.cpp +++ b/src/RESTObjects/RESTAPI_ProvObjects.cpp @@ -1015,6 +1015,9 @@ namespace OpenWifi::ProvObjects { field_to_json( Obj,"configuration", configuration); field_to_json( Obj,"suspended", suspended); field_to_json( Obj,"realMacAddress", realMacAddress); + field_to_json( Obj,"firmwareRCOnly", firmwareRCOnly); + field_to_json( Obj,"firmwareUpgrade", firmwareUpgrade); + } bool SubscriberDevice::from_json(const Poco::JSON::Object::Ptr &Obj) { @@ -1037,6 +1040,8 @@ namespace OpenWifi::ProvObjects { field_from_json( Obj,"configuration", configuration); field_from_json( Obj,"suspended", suspended); field_from_json( Obj,"realMacAddress", realMacAddress); + field_from_json( Obj,"firmwareRCOnly", firmwareRCOnly); + field_from_json( Obj,"firmwareUpgrade", firmwareUpgrade); return true; } catch(...) { diff --git a/src/RESTObjects/RESTAPI_ProvObjects.h b/src/RESTObjects/RESTAPI_ProvObjects.h index 8a936b4..618b22f 100644 --- a/src/RESTObjects/RESTAPI_ProvObjects.h +++ b/src/RESTObjects/RESTAPI_ProvObjects.h @@ -652,6 +652,8 @@ namespace OpenWifi::ProvObjects { DeviceConfigurationElementVec configuration; bool suspended=false; std::string realMacAddress; + std::string firmwareUpgrade; + bool firmwareRCOnly=true; void to_json(Poco::JSON::Object &Obj) const; bool from_json(const Poco::JSON::Object::Ptr &Obj); diff --git a/src/storage/storage_sub_devices.cpp b/src/storage/storage_sub_devices.cpp index 63da406..197f7bf 100644 --- a/src/storage/storage_sub_devices.cpp +++ b/src/storage/storage_sub_devices.cpp @@ -34,20 +34,22 @@ namespace OpenWifi { ORM::Field{"billingCode",ORM::FieldType::FT_TEXT}, ORM::Field{"configuration",ORM::FieldType::FT_TEXT}, ORM::Field{"suspended",ORM::FieldType::FT_BOOLEAN}, - ORM::Field{"realMacAddress",ORM::FieldType::FT_TEXT} + ORM::Field{"realMacAddress",ORM::FieldType::FT_TEXT}, + ORM::Field{"firmwareRCOnly",ORM::FieldType::FT_BOOLEAN}, + ORM::Field{"firmwareUpgrade",ORM::FieldType::FT_TEXT} }; static ORM::IndexVec SubscriberDeviceDB_Indexes{ - { std::string("subscriber_device_name_index2"), + { std::string("subscriber_device_name_index3"), ORM::IndexEntryVec{ {std::string("name"), ORM::Indextype::ASC} } }, - { std::string("subscriber_device_serialNumber_index2"), + { std::string("subscriber_device_serialNumber_index3"), ORM::IndexEntryVec{ {std::string("serialNumber"), ORM::Indextype::ASC} } } , - { std::string("subscriber_device_realMacAddress_index2"), + { std::string("subscriber_device_realMacAddress_index3"), ORM::IndexEntryVec{ {std::string("realMacAddress"), ORM::Indextype::ASC} } } }; SubscriberDeviceDB::SubscriberDeviceDB( OpenWifi::DBType T, Poco::Data::SessionPool & P, Poco::Logger &L) : - DB(T, "sub_devices2", SubscriberDeviceDB_Fields, SubscriberDeviceDB_Indexes, P, L, "sdv") { + DB(T, "sub_devices3", SubscriberDeviceDB_Fields, SubscriberDeviceDB_Indexes, P, L, "sdv") { } bool SubscriberDeviceDB::Upgrade([[maybe_unused]] uint32_t from, uint32_t &to) { @@ -83,6 +85,8 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec Out.configuration = OpenWifi::RESTAPI_utils::to_object_array(In.get<20>()); Out.suspended = In.get<21>(); Out.realMacAddress = In.get<22>(); + Out.firmwareRCOnly = In.get<23>(); + Out.firmwareUpgrade = In.get<24>(); } template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjects::SubscriberDevice>::Convert(const OpenWifi::ProvObjects::SubscriberDevice &In, OpenWifi::SubDeviceDBRecordType &Out) { @@ -109,4 +113,6 @@ template<> void ORM::DB< OpenWifi::SubDeviceDBRecordType, OpenWifi::ProvObjec Out.set<20>(OpenWifi::RESTAPI_utils::to_string(In.configuration)); Out.set<21>(In.suspended); Out.set<22>(In.realMacAddress); + Out.set<23>(In.firmwareRCOnly); + Out.set<24>(In.firmwareUpgrade); } diff --git a/src/storage/storage_sub_devices.h b/src/storage/storage_sub_devices.h index 1c29828..6446a14 100644 --- a/src/storage/storage_sub_devices.h +++ b/src/storage/storage_sub_devices.h @@ -42,6 +42,8 @@ namespace OpenWifi { std::string, std::string, bool, + std::string, + bool, std::string > SubDeviceDBRecordType;