Skip to main content

Mountain/RPC/CocoonService/Secret/
DeleteSecret.rs

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