#data-store #serialization #api #google-api #google #web

bin+lib ddb

数据存储数据库 - 高级Rust API(支持serde)

6个版本

0.0.6 2019年10月23日
0.0.5 2019年10月2日
0.0.1 2019年9月30日

#datastore中排名第7

MIT 许可证

32KB
699行代码(不含注释)

数据存储数据库

Google Cloud Firestore在数据存储模式下 - 高级Rust API(支持serde!)

API预览

// MODEL
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TodoItem {
    pub name: String,
    pub title: String,
}
// MODEL METADATA
impl EntityKey for TodoItem {
    fn entity_kind_key() -> String {
        String::from("TodoItem")
    }
    fn entity_name_key(&self) -> String {
        self.name.clone()
    }
}
// INIT
let db = DatastoreClient::new().unwrap();
let item = TodoItem {
    name: String::from("test"),
    title: String::from("lorem ipsum")
};
// GO!
db.upsert(item);

lib.rs:

use serde::{Serialize, Deserialize};

// MODEL
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TodoItem {
    pub name: String,
    pub title: String,
}
// MODEL METADATA
impl ddb::EntityKey for TodoItem {
    fn entity_kind_key() -> String {
        String::from("TodoItem")
    }
    fn entity_name_key(&self) -> String {
        self.name.clone()
    }
}
// INIT
let db = ddb::DatastoreClient::new().unwrap();
let item = TodoItem {
    name: String::from("test"),
    title: String::from("lorem ipsum")
};
// GO!
db.upsert(item);

依赖项

~27–39MB
~786K SLoC