restflow_core/services/
secrets.rs1use crate::{AppCore, models::Secret};
2use anyhow::{Context, Result};
3use std::sync::Arc;
4
5pub async fn list_secrets(core: &Arc<AppCore>) -> Result<Vec<Secret>> {
7 core.storage
8 .secrets
9 .list_secrets()
10 .context("Failed to list secrets")
11}
12
13pub async fn get_secret(core: &Arc<AppCore>, key: &str) -> Result<Option<String>> {
15 core.storage
16 .secrets
17 .get_secret(key)
18 .with_context(|| format!("Failed to get secret {}", key))
19}
20
21pub async fn set_secret(
23 core: &Arc<AppCore>,
24 key: &str,
25 value: &str,
26 description: Option<String>,
27) -> Result<()> {
28 core.storage
29 .secrets
30 .set_secret(key, value, description)
31 .with_context(|| format!("Failed to set secret {}", key))
32}
33
34pub async fn delete_secret(core: &Arc<AppCore>, key: &str) -> Result<()> {
36 core.storage
37 .secrets
38 .delete_secret(key)
39 .with_context(|| format!("Failed to delete secret {}", key))
40}
41
42pub async fn has_secret(core: &Arc<AppCore>, key: &str) -> Result<bool> {
44 core.storage
45 .secrets
46 .has_secret(key)
47 .with_context(|| format!("Failed to check secret {}", key))
48}