aboutsummaryrefslogtreecommitdiff
path: root/lockchain-files/examples/create.rs
blob: 67279a93027abe0c54a1a7c914004386499785b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
extern crate lockchain_core as lcc;
extern crate lockchain_files as files;

use files::FileVault;
use lcc::traits::Vault;
use lcc::users::User;
use lcc::{EncryptedBody, Generator, Payload, Record, VaultType};
use std::env;

fn main() {
    if env::args().len() == 3 {
        let path = env::args().nth(1).unwrap();
        let name = env::args().nth(2).unwrap();

        let mut vault: FileVault<EncryptedBody> = Generator::new()
            .path(name, path)
            .user_type(VaultType::SoloUser {
                username: "spacekookie".into(),
                secret: "foobar3264".into(),
            }).finalise()
            .unwrap();
        vault.sync();

    // let vault: FileVault<EncryptedBody> = FileVault::new(&name, &path);

    // let mut store = match (
    //     vault.meta_pull_domain("userstore"),
    //     vault.meta_pull_domain("registry"),
    // ) {
    //     (Some(users), Some(registry)) => (users.clone(), registry.clone()).into(),
    //     _ => UserStore::default(),
    // };

    // /* Some users of our vault have the same password :S */
    // store.add(User::register("alice", "password"));
    // let token = store.get_token(vec!());

    // let (users, registry) = store.into();

    // vault.meta_push_domain(users);
    // vault.meta_push_domain(registry);
    // vault.sync();
    } else {
        eprintln!("Usage: create <path> <name> [FLAGS] (there are no flags)")
    }
}