set_delete_user/
set_delete_user.rs1use std::time::Duration;
8use zkteco::{User, Zk, USER_DEFAULT};
9
10fn main() -> zkteco::ZkResult<()> {
11 let mut args = std::env::args().skip(1);
12 let ip = args.next().expect("usage: set_delete_user <ip> [port]");
13 let port: u16 = args.next().and_then(|p| p.parse().ok()).unwrap_or(4370);
14
15 let mut zk = Zk::builder(ip)
16 .port(port)
17 .timeout(Duration::from_secs(10))
18 .omit_ping(true)
19 .build();
20
21 zk.connect()?;
22 zk.disable_device()?;
23
24 let _ = zk.get_users()?;
26
27 let user = User::new(0, "Test User", USER_DEFAULT, "1234", "", "", 0);
29 zk.set_user(&user)?;
30 println!("created a user; uid counter now {}", zk.next_uid());
31
32 let created = zk.get_users()?;
34 if let Some(last) = created.iter().max_by_key(|u| u.uid) {
35 println!("deleting uid={} id={}", last.uid, last.user_id);
36 zk.delete_user(last.uid, &last.user_id)?;
37 }
38
39 zk.enable_device()?;
40 zk.disconnect()?;
41 Ok(())
42}