mirror of
				https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
				synced 2025-10-31 18:57:51 +00:00 
			
		
		
		
	Signed-off-by: stephb9959 <stephane.bourque@gmail.com>
This commit is contained in:
		| @@ -3,6 +3,7 @@ | ||||
| // | ||||
|  | ||||
| #include "RESTAPI_systemSecret_handler.h" | ||||
| #include <SecretStore.h> | ||||
|  | ||||
| namespace OpenWifi { | ||||
|  | ||||
| @@ -10,6 +11,35 @@ namespace OpenWifi { | ||||
|         if(!Internal_ && UserInfo_.userinfo.userRole!=SecurityObjects::ROOT) { | ||||
|             return UnAuthorized(RESTAPI::Errors::ACCESS_DENIED); | ||||
|         } | ||||
|  | ||||
|         if(GetBoolParameter("all")) { | ||||
|             auto Store = SecretStore()->Store(); | ||||
|             Poco::JSON::Array   Entries; | ||||
|             Poco::JSON::Object  List; | ||||
|  | ||||
|             for(const auto &[Key,Value]:Store) { | ||||
|                 Poco::JSON::Object  E; | ||||
|                 E.set("key",Key); | ||||
|                 E.set("value",Value); | ||||
|                 Entries.add(E); | ||||
|             } | ||||
|             List.set("secrets",Entries); | ||||
|             return ReturnObject(List); | ||||
|         } | ||||
|  | ||||
|         auto Key = GetBinding("secret"); | ||||
|         if(Key.empty()) { | ||||
|             return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters); | ||||
|         } | ||||
|  | ||||
|         std::string Value; | ||||
|         if(SecretStore()->Get(Key,Value,"")) { | ||||
|             Poco::JSON::Object  Answer; | ||||
|             Answer.set("key", Key); | ||||
|             Answer.set("value", Value); | ||||
|             return ReturnObject(Answer); | ||||
|         } | ||||
|         return NotFound(); | ||||
|     } | ||||
|  | ||||
|     void RESTAPI_systemSecret_handler::DoDelete() { | ||||
| @@ -17,6 +47,14 @@ namespace OpenWifi { | ||||
|             return UnAuthorized(RESTAPI::Errors::ACCESS_DENIED); | ||||
|         } | ||||
|  | ||||
|         auto Key = GetBinding("secret"); | ||||
|         if(Key.empty()) { | ||||
|             return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters); | ||||
|         } | ||||
|  | ||||
|         SecretStore()->Remove(Key); | ||||
|         return OK(); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     void RESTAPI_systemSecret_handler::DoPut() { | ||||
| @@ -24,6 +62,17 @@ namespace OpenWifi { | ||||
|             return UnAuthorized(RESTAPI::Errors::ACCESS_DENIED); | ||||
|         } | ||||
|  | ||||
|         auto Key = GetBinding("secret"); | ||||
|         auto Value = GetParameter("value","_______no_value_____"); | ||||
|         if(Key.empty() || Value == "_______no_value_____") { | ||||
|             return BadRequest(RESTAPI::Errors::MissingOrInvalidParameters); | ||||
|         } | ||||
|  | ||||
|         SecretStore()->Set(Key,Value); | ||||
|         Poco::JSON::Object  Answer; | ||||
|         Answer.set("key", Key); | ||||
|         Answer.set("value", Value); | ||||
|         return ReturnObject(Answer); | ||||
|     } | ||||
|  | ||||
| } // OpenWifi | ||||
		Reference in New Issue
	
	Block a user
	 stephb9959
					stephb9959