Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/RPC/CocoonService/Secret/
DeleteSecret.rs

1//! Remove a value from the OS keychain.
2
3use tonic::{Response, Status};
4use CommonLibrary::Secret::SecretProvider::SecretProvider;
5
6use crate::{
7	RPC::CocoonService::CocoonServiceImpl,
8	Vine::Generated::{DeleteSecretRequest, Empty},
9	dev_log,
10};
11
12pub async fn Fn(Service:&CocoonServiceImpl, Request:DeleteSecretRequest) -> Result<Response<Empty>, Status> {
13	dev_log!("cocoon", "[CocoonService] delete_secret: key={}", Request.key);
14
15	match Service.environment.DeleteSecret(String::new(), Request.key.clone()).await {
16		Ok(()) => Ok(Response::new(Empty {})),
17
18		Err(Error) => {
19			dev_log!(
20				"cocoon",
21				"warn: [CocoonService] delete_secret failed key={}: {}",
22				Request.key,
23				Error
24			);
25
26			Err(Status::internal(format!("delete_secret: {}", Error)))
27		},
28	}
29}