Mountain/RPC/CocoonService/Secret/
StoreSecret.rs1
2use tonic::{Response, Status};
5use CommonLibrary::Secret::SecretProvider::SecretProvider;
6
7use crate::{
8 RPC::CocoonService::CocoonServiceImpl,
9 Vine::Generated::{Empty, StoreSecretRequest},
10 dev_log,
11};
12
13pub async fn Fn(Service:&CocoonServiceImpl, Request:StoreSecretRequest) -> Result<Response<Empty>, Status> {
14 dev_log!("cocoon", "[CocoonService] store_secret: key={}", Request.key);
15
16 match Service
17 .environment
18 .StoreSecret(String::new(), Request.key.clone(), Request.value)
19 .await
20 {
21 Ok(()) => Ok(Response::new(Empty {})),
22
23 Err(Error) => {
24 dev_log!(
25 "cocoon",
26 "warn: [CocoonService] store_secret failed key={}: {}",
27 Request.key,
28 Error
29 );
30
31 Err(Status::internal(format!("store_secret: {}", Error)))
32 },
33 }
34}