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
use ndata::dataobject::*;
use std::fs;
use ndata::dataarray::*;
use crate::datastore::*;
pub fn execute(o: DataObject) -> DataObject {
let a0 = o.get_string("lib");
let a1 = o.get_array("readers");
let a2 = o.get_array("writers");
let ax = library_new(a0, a1, a2);
let mut o = DataObject::new();
o.put_int("a", ax);
o
}
pub fn library_new(lib:String, readers:DataArray, writers:DataArray) -> i64 {
let store = DataStore::new();
let mut path = store.root.join(lib);
if !path.exists() { let _ = fs::create_dir_all(&path).unwrap(); }
let mut meta = DataObject::new();
meta.put_string("username", "system");
meta.put_array("readers", readers);
meta.put_array("writers", writers);
path = path.join("meta.json");
fs::write(path, meta.to_string()).expect("Unable to write file");
1
}