Skip to main content

Mountain/RPC/CocoonService/Secret/
DeleteSecret.rs

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