style: cargo fmt — fix rustfmt formatting
Some checks failed
Secrets CLI - Build & Release / 检查版本 (push) Successful in 1s
Secrets CLI - Build & Release / Build (x86_64-unknown-linux-musl) (push) Failing after 31s
Secrets CLI - Build & Release / Build (aarch64-apple-darwin) (push) Failing after 37s
Secrets CLI - Build & Release / Build (x86_64-pc-windows-msvc) (push) Has been cancelled
Secrets CLI - Build & Release / 发送通知 (push) Has been cancelled

Made-with: Cursor
This commit is contained in:
voson
2026-03-18 14:13:37 +08:00
parent 102e394914
commit 3b338be2d2
4 changed files with 30 additions and 18 deletions

View File

@@ -2,14 +2,13 @@ use anyhow::Result;
use sqlx::PgPool;
pub async fn run(pool: &PgPool, namespace: &str, kind: &str, name: &str) -> Result<()> {
let result = sqlx::query(
"DELETE FROM secrets WHERE namespace = $1 AND kind = $2 AND name = $3",
)
.bind(namespace)
.bind(kind)
.bind(name)
.execute(pool)
.await?;
let result =
sqlx::query("DELETE FROM secrets WHERE namespace = $1 AND kind = $2 AND name = $3")
.bind(namespace)
.bind(kind)
.bind(name)
.execute(pool)
.await?;
if result.rows_affected() == 0 {
println!("Not found: [{}/{}] {}", namespace, kind, name);

View File

@@ -66,10 +66,7 @@ pub async fn run(
}
for row in &rows {
println!(
"[{}/{}] {}",
row.namespace, row.kind, row.name,
);
println!("[{}/{}] {}", row.namespace, row.kind, row.name,);
println!(" id: {}", row.id);
if !row.tags.is_empty() {
@@ -79,12 +76,18 @@ pub async fn run(
let meta_obj = row.metadata.as_object();
if let Some(m) = meta_obj {
if !m.is_empty() {
println!(" metadata: {}", serde_json::to_string_pretty(&row.metadata)?);
println!(
" metadata: {}",
serde_json::to_string_pretty(&row.metadata)?
);
}
}
if show_secrets {
println!(" secrets: {}", serde_json::to_string_pretty(&row.encrypted)?);
println!(
" secrets: {}",
serde_json::to_string_pretty(&row.encrypted)?
);
} else {
let keys: Vec<String> = row
.encrypted
@@ -92,11 +95,17 @@ pub async fn run(
.map(|m| m.keys().cloned().collect())
.unwrap_or_default();
if !keys.is_empty() {
println!(" secrets: [{}] (--show-secrets to reveal)", keys.join(", "));
println!(
" secrets: [{}] (--show-secrets to reveal)",
keys.join(", ")
);
}
}
println!(" created: {}", row.created_at.format("%Y-%m-%d %H:%M:%S UTC"));
println!(
" created: {}",
row.created_at.format("%Y-%m-%d %H:%M:%S UTC")
);
println!();
}
println!("{} record(s) found.", rows.len());

View File

@@ -1,6 +1,6 @@
use anyhow::Result;
use sqlx::postgres::PgPoolOptions;
use sqlx::PgPool;
use sqlx::postgres::PgPoolOptions;
pub async fn create_pool(database_url: &str) -> Result<PgPool> {
let pool = PgPoolOptions::new()

View File

@@ -7,7 +7,11 @@ use clap::{Parser, Subcommand};
use dotenvy::dotenv;
#[derive(Parser)]
#[command(name = "secrets", version, about = "Secrets & config manager backed by PostgreSQL")]
#[command(
name = "secrets",
version,
about = "Secrets & config manager backed by PostgreSQL"
)]
struct Cli {
/// Database URL (or set DATABASE_URL env var)
#[arg(long, env = "DATABASE_URL", global = true, default_value = "")]