diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a57830..a555332 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.13) -project(owfms VERSION 2.10.0) +project(owfms VERSION 2.11.0) set(CMAKE_CXX_STANDARD 17) diff --git a/build b/build index 8e2afd3..d8263ee 100644 --- a/build +++ b/build @@ -1 +1 @@ -17 \ No newline at end of file +2 \ No newline at end of file diff --git a/src/framework/RESTAPI_utils.h b/src/framework/RESTAPI_utils.h index a3eca9d..72c0afc 100644 --- a/src/framework/RESTAPI_utils.h +++ b/src/framework/RESTAPI_utils.h @@ -14,8 +14,15 @@ #include "framework/OpenWifiTypes.h" #include "framework/utils.h" +#include + namespace OpenWifi::RESTAPI_utils { + inline bool IsRootOrAdmin(const SecurityObjects::UserInfo &UI) { + return UI.userRole==SecurityObjects::ROOT || + UI.userRole==SecurityObjects::ADMIN; + } + inline void EmbedDocument(const std::string &ObjName, Poco::JSON::Object &Obj, const std::string &ObjStr) { std::string D = ObjStr.empty() ? "{}" : ObjStr; diff --git a/src/framework/utils.cpp b/src/framework/utils.cpp index 55e0b55..c2f4358 100644 --- a/src/framework/utils.cpp +++ b/src/framework/utils.cpp @@ -27,6 +27,10 @@ namespace OpenWifi::Utils { std::all_of(Serial.begin(), Serial.end(), [](auto i) { return std::isxdigit(i); })); } + [[nodiscard]] bool ValidSerialNumbers(const std::vector &numbers) { + return std::all_of(numbers.begin(),numbers.end(),[](auto &number) {return ValidSerialNumber(number);}); + } + [[nodiscard]] bool ValidUUID(const std::string &UUID) { if (UUID.size() > 36) return false; diff --git a/src/framework/utils.h b/src/framework/utils.h index f1cdef3..0228bff 100644 --- a/src/framework/utils.h +++ b/src/framework/utils.h @@ -68,6 +68,7 @@ namespace OpenWifi::Utils { }; [[nodiscard]] bool ValidSerialNumber(const std::string &Serial); + [[nodiscard]] bool ValidSerialNumbers(const std::vector &Serial); [[nodiscard]] bool ValidUUID(const std::string &UUID); [[nodiscard]] bool ValidHostname(const std::string &hostname);