Skip to main content

Mountain/RPC/CocoonService/Secret/
DeleteSecret.rs

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