Skip to main content

Crate stack_profile

Crate stack_profile 

Source
Expand description

Centralised ~/.cipherstash/ profile file management.

The core type is ProfileStore, a directory-scoped JSON file store that handles reading, writing, and deleting profile data on disk.

§Example

use stack_profile::ProfileStore;
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
struct MyConfig {
    name: String,
}

let store = ProfileStore::default();

store.save("my-config.json", &MyConfig { name: "example".into() })?;
let config: MyConfig = store.load("my-config.json")?;

For sensitive files, use ProfileStore::save_with_mode to restrict permissions:

let store = ProfileStore::default();
store.save_with_mode("secret.json", &Secret { key: "shhh".into() }, 0o600)?;

Structs§

DeviceIdentity
Persistent identity for a CLI installation.
ProfileStore
A directory-scoped JSON file store for profile data.

Enums§

ProfileError
Errors that can occur when reading or writing profile files.

Traits§

ProfileData
A type that can be stored in a profile directory.