From 865ad612e67d236682dff8a27d33f77cc4cce323 Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Mon, 6 Feb 2023 22:15:06 -0800 Subject: [PATCH] https://telecominfraproject.atlassian.net/browse/WIFI-12225 Signed-off-by: stephb9959 --- CMakeLists.txt | 29 +++++++------ src/RESTAPI/RESTAPI_db_helpers.h | 1 - src/framework/ConfigurationValidator.cpp | 53 +++++++++++++++++++++++- src/framework/orm.h | 15 +++++++ 4 files changed, 84 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 644ef26..2afbc4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,6 +132,7 @@ add_executable(owprov src/Daemon.cpp src/Daemon.h src/Dashboard.h src/Dashboard.cpp src/StorageService.cpp src/StorageService.h + src/storage/storage_entity.cpp src/storage/storage_entity.h src/storage/storage_policies.cpp src/storage/storage_policies.h src/storage/storage_venue.cpp src/storage/storage_venue.h @@ -141,6 +142,14 @@ add_executable(owprov src/storage/storage_management_roles.cpp src/storage/storage_management_roles.h src/storage/storage_configurations.cpp src/storage/storage_configurations.h src/storage/storage_tags.cpp src/storage/storage_tags.h + src/storage/storage_operataor.cpp src/storage/storage_operataor.h + src/storage/storage_sub_devices.cpp src/storage/storage_sub_devices.h + src/storage/storage_service_class.cpp src/storage/storage_service_class.h + src/storage/storage_maps.cpp src/storage/storage_maps.h + src/storage/storage_signup.cpp src/storage/storage_signup.h + src/storage/storage_variables.cpp src/storage/storage_variables.h + src/storage/storage_overrides.cpp src/storage/storage_overrides.h + src/RESTAPI/RESTAPI_entity_handler.cpp src/RESTAPI/RESTAPI_entity_handler.h src/RESTAPI/RESTAPI_contact_handler.cpp src/RESTAPI/RESTAPI_contact_handler.h src/RESTAPI/RESTAPI_location_handler.cpp src/RESTAPI/RESTAPI_location_handler.h @@ -160,6 +169,13 @@ add_executable(owprov src/RESTAPI/RESTAPI_iptocountry_handler.cpp src/RESTAPI/RESTAPI_iptocountry_handler.h src/RESTAPI/RESTAPI_signup_handler.h src/RESTAPI/RESTAPI_signup_handler.cpp src/RESTAPI/RESTAPI_asset_server.cpp src/RESTAPI/RESTAPI_asset_server.h + src/RESTAPI/RESTAPI_db_helpers.h + src/RESTAPI/RESTAPI_map_handler.cpp src/RESTAPI/RESTAPI_map_handler.h + src/RESTAPI/RESTAPI_map_list_handler.cpp src/RESTAPI/RESTAPI_map_list_handler.h + src/RESTAPI/RESTAPI_variables_handler.cpp src/RESTAPI/RESTAPI_variables_handler.h + src/RESTAPI/RESTAPI_variables_list_handler.cpp src/RESTAPI/RESTAPI_variables_list_handler.h + src/RESTAPI/RESTAPI_overrides_handler.cpp src/RESTAPI/RESTAPI_overrides_handler.h + src/FindCountry.h src/sdks/SDK_gw.cpp src/sdks/SDK_gw.h src/sdks/SDK_prov.cpp src/sdks/SDK_prov.h @@ -169,25 +185,14 @@ add_executable(owprov src/AutoDiscovery.cpp src/AutoDiscovery.h src/ConfigSanityChecker.cpp src/ConfigSanityChecker.h src/TagServer.cpp src/TagServer.h - src/RESTAPI/RESTAPI_db_helpers.h src/JobController.cpp src/JobController.h src/JobRegistrations.cpp - src/storage/storage_maps.cpp src/storage/storage_maps.h - src/RESTAPI/RESTAPI_map_handler.cpp src/RESTAPI/RESTAPI_map_handler.h - src/RESTAPI/RESTAPI_map_list_handler.cpp src/RESTAPI/RESTAPI_map_list_handler.h - src/storage/storage_signup.cpp src/storage/storage_signup.h src/Signup.cpp src/Signup.h src/DeviceTypeCache.h - src/storage/storage_variables.cpp src/storage/storage_variables.h - src/RESTAPI/RESTAPI_variables_handler.cpp src/RESTAPI/RESTAPI_variables_handler.h - src/RESTAPI/RESTAPI_variables_list_handler.cpp src/RESTAPI/RESTAPI_variables_list_handler.h src/FileDownloader.cpp src/FileDownloader.h src/Tasks/VenueConfigUpdater.h src/libs/croncpp.h src/Kafka_ProvUpdater.cpp src/Kafka_ProvUpdater.h - src/storage/storage_operataor.cpp src/storage/storage_operataor.h - src/storage/storage_sub_devices.cpp src/storage/storage_sub_devices.h - src/storage/storage_service_class.cpp src/storage/storage_service_class.h src/RESTAPI/RESTAPI_sub_devices_list_handler.cpp src/RESTAPI/RESTAPI_sub_devices_list_handler.h src/RESTAPI/RESTAPI_sub_devices_handler.cpp src/RESTAPI/RESTAPI_sub_devices_handler.h src/RESTAPI/RESTAPI_service_class_list_handler.cpp src/RESTAPI/RESTAPI_service_class_list_handler.h @@ -203,7 +208,7 @@ add_executable(owprov src/ProvWebSocketClient.cpp src/ProvWebSocketClient.h src/Tasks/VenueRebooter.h src/Tasks/VenueUpgrade.h src/sdks/SDK_fms.cpp src/sdks/SDK_fms.h - src/storage/storage_overrides.cpp src/storage/storage_overrides.h src/RESTAPI/RESTAPI_overrides_handler.cpp src/RESTAPI/RESTAPI_overrides_handler.h) + src/RESTAPI/RESTAPI_overrides_handler.cpp src/RESTAPI/RESTAPI_overrides_handler.h) target_link_libraries(owprov PUBLIC ${Poco_LIBRARIES} diff --git a/src/RESTAPI/RESTAPI_db_helpers.h b/src/RESTAPI/RESTAPI_db_helpers.h index 6793d14..a5b3a5f 100644 --- a/src/RESTAPI/RESTAPI_db_helpers.h +++ b/src/RESTAPI/RESTAPI_db_helpers.h @@ -9,7 +9,6 @@ #include "framework/ConfigurationValidator.h" #include "sdks/SDK_sec.h" #include "Poco/StringTokenizer.h" - #include "libs/croncpp.h" namespace OpenWifi { diff --git a/src/framework/ConfigurationValidator.cpp b/src/framework/ConfigurationValidator.cpp index 36d8fd3..bf7618a 100644 --- a/src/framework/ConfigurationValidator.cpp +++ b/src/framework/ConfigurationValidator.cpp @@ -2922,6 +2922,24 @@ static std::string DefaultUCentralSchema = R"foo( } ] }, + "service.gps": { + "type": "object", + "properties": { + "adjust-time": { + "type": "boolean", + "default": false + }, + "baud-rate": { + "type": "integer", + "enum": [ + 2400, + 4800, + 9600, + 19200 + ] + } + } + }, "service": { "type": "object", "properties": { @@ -2978,6 +2996,9 @@ static std::string DefaultUCentralSchema = R"foo( }, "captive": { "$ref": "#/$defs/service.captive" + }, + "gps": { + "$ref": "#/$defs/service.gps" } } }, @@ -3070,6 +3091,31 @@ static std::string DefaultUCentralSchema = R"foo( } } }, + "metrics.telemetry": { + "type": "object", + "properties": { + "interval": { + "type": "integer" + }, + "types": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "metrics.realtime": { + "type": "object", + "properties": { + "types": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "metrics": { "type": "object", "properties": { @@ -3084,6 +3130,12 @@ static std::string DefaultUCentralSchema = R"foo( }, "dhcp-snooping": { "$ref": "#/$defs/metrics.dhcp-snooping" + }, + "telemetry": { + "$ref": "#/$defs/metrics.telemetry" + }, + "realtime": { + "$ref": "#/$defs/metrics.realtime" } } }, @@ -3130,7 +3182,6 @@ static std::string DefaultUCentralSchema = R"foo( } } - )foo"; diff --git a/src/framework/orm.h b/src/framework/orm.h index 347b1ad..23eb591 100644 --- a/src/framework/orm.h +++ b/src/framework/orm.h @@ -561,6 +561,21 @@ namespace ORM { return false; } + template bool Join(const std::string &statement, std::vector &records) { + try { + Poco::Data::Session Session = Pool_.get(); + Poco::Data::Statement Select(Session); + + Select << statement , + Poco::Data::Keywords::into(records); + Select.execute(); + return true; + } catch (const Poco::Exception &E) { + Logger_.log(E); + } + return false; + } + typedef std::vector RecordList; typedef std::vector RecordVec; typedef RecordType RecordName;