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