diff --git a/openpapi/owsec.yaml b/openpapi/owsec.yaml index 3c3a7e6..f7de7c5 100644 --- a/openpapi/owsec.yaml +++ b/openpapi/owsec.yaml @@ -1110,6 +1110,12 @@ paths: type: string format: uuid required: true + - in: query + description: When used, signifies the the id is actually the email address of the user, and not its uuid + name: byEmail + schema: + type: boolean + required: false responses: 200: $ref: '#/components/schemas/UserInfo' @@ -1972,6 +1978,8 @@ paths: /systemSecret/{secret}: get: + tags: + - System Secrets description: Retrieve a specific secret operationId: getSecret parameters: @@ -2016,6 +2024,8 @@ paths: $ref: '#/components/responses/NotFound' put: + tags: + - System Secrets description: Modify a specific secret operationId: modifySecret parameters: 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);