dw_datastore/
lib.rs

1#[macro_use]
2extern crate log;
3
4#[macro_export]
5macro_rules! json_map {
6    { $( $key:literal : $value:expr),* } => {{
7        use serde_json::Value;
8        use serde_json::map::Map;
9        #[allow(unused_mut)]
10        let mut map : Map<String, Value> = Map::new();
11        $(
12          map.insert( $key.to_string(), json!($value) );
13        )*
14        map
15    }};
16}
17
18mod datastore;
19mod legacy_import;
20mod worker;
21
22pub use self::datastore::DatastoreInstance;
23pub use self::worker::Datastore;
24
25pub enum DatastoreMethod {
26    Memory(),
27    File(String),
28}
29
30/* TODO: Implement this as a proper error */
31#[derive(Debug, Clone)]
32pub enum DatastoreError {
33    NoSuchBucket(String),
34    BucketAlreadyExists(String),
35    NoSuchKey(String),
36    MpscError,
37    InternalError(String),
38    // Errors specific to when migrate is disabled
39    Uninitialized(String),
40    OldDbVersion(String),
41}