musealpha / src-tauri /src /credentials.rs
asdf98's picture
Upload 112 files
3d7d9b5 verified
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CredentialEntry {
pub id: String,
pub domain: String,
pub username: String,
pub vault_key: String,
pub label: String,
}
/// Credentials are managed via frontend Stronghold JS API + SQLite metadata index.
/// Rust side provides helper commands for the metadata layer.
#[tauri::command]
pub fn credentials_list() -> Result<Vec<CredentialEntry>, String> {
// Credentials stored via frontend Stronghold + SQL plugin
Ok(vec![])
}
#[tauri::command]
pub fn credentials_generate_password(length: u32) -> String {
let charset: Vec<char> = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%&*-_=+".chars().collect();
let len = length.max(8).min(64) as usize;
let mut password = String::with_capacity(len);
for i in 0..len {
let seed = (chrono::Utc::now().timestamp_subsec_nanos() as usize).wrapping_mul(7 + i * 13);
password.push(charset[seed % charset.len()]);
}
password
}