07_right_store/
07_right_store.rs1use localauthentication::prelude::*;
2use std::time::{SystemTime, UNIX_EPOCH};
3
4fn unique_identifier(prefix: &str) -> String {
5 let now = SystemTime::now()
6 .duration_since(UNIX_EPOCH)
7 .unwrap_or_default()
8 .as_nanos();
9 format!("dev.doomfish.localauthentication.{prefix}.{now}")
10}
11
12fn main() -> Result<(), Box<dyn std::error::Error>> {
13 let store = LARightStore::shared()?;
14 let right = LARight::new()?;
15 let identifier = unique_identifier("store");
16
17 match store.save_right(&right, &identifier) {
18 Ok(persisted) => {
19 println!("saved state: {:?}", persisted.state()?);
20 store.remove_right(&persisted)?;
21 }
22 Err(error) => {
23 println!("save_right expectedly failed in unsigned/headless environments: {error}");
24 }
25 }
26
27 println!("✅ right-store smoke OK");
28 Ok(())
29}