etebase_test/
etebase_test.rs1use std::env;
5
6use etebase::{error::Result, Account, Client, Collection, Item};
7
8const CLIENT_NAME: &str = "etebase-example";
9
10fn print_collection(collection: &Collection) {
11 println!("UID: {}", &collection.uid());
12 println!("Meta: {:?}", &collection.meta().unwrap());
13 println!();
14}
15
16fn print_item(item: &Item) {
17 println!("UID: {}", &item.uid());
18 println!("Meta: {:?}", &item.meta().unwrap());
19 println!();
20}
21
22fn main() -> Result<()> {
23 let args: Vec<String> = env::args().collect();
24
25 if args.len() < 4 {
26 println!("Help: ./etebase_test USERNAME PASSWORD SERVER_URL [COLLECTION_UID]");
27 std::process::exit(1);
28 }
29
30 let username = &args[1];
31 let password = &args[2];
32 let server_url = &args[3];
33
34 let client = Client::new(CLIENT_NAME, server_url)?;
35 let etebase = Account::login(client, username, password)?;
36 let col_mgr = etebase.collection_manager()?;
37 if args.len() >= 5 {
38 let col_uid = &args[4];
39 let col = col_mgr.fetch(col_uid, None)?;
40 let it_mgr = col_mgr.item_manager(&col)?;
41 let items = it_mgr.list(None)?;
42
43 print_collection(&col);
44 for item in items.data() {
45 print_item(item);
46 }
47 } else {
48 let collections = col_mgr.list("some.coltype", None)?;
49 for col in collections.data() {
50 print_collection(col);
51 }
52 }
53
54 etebase.logout()?;
55
56 Ok(())
57}