Example
use just_orm::{Identifiable, JsonDatabase};
use serde::{Deserialize, Serialize};
use serde_json::json;
#[derive(Debug, Clone, Serialize, Deserialize)]
struct User {
id: String,
name: String,
email: String,
}
impl Identifiable for User {
fn get_id(&self) -> String {
self.id.clone()
}
}
fn main() {
let mut user_db: JsonDatabase<User> = JsonDatabase::new("cust2om-dir", Some("users"));
let user1 = User {
id: "1".to_string(),
name: "John Doe".to_string(),
email: "john.doe@example.com".to_string(),
};
let user2 = User {
id: "2".to_string(),
name: "Jane Smith".to_string(),
email: "jane.smith@example.com".to_string(),
};
user_db.create_model(user1);
user_db.create_model(user2);
if let Some(user) = user_db.find_by_id("1") {
println!("Found user: {:?}", user);
} else {
println!("User not found");
}
let update_data = json!({
"name": "Johnathan Doe"
});
user_db.update_by_id("1", update_data);
let all_users = user_db.find_all();
println!("All users: {:?}", all_users);
let condition = json!({
"email": "jane.smith@example.com"
});
let found_users = user_db.find(&condition);
println!("Found users: {:?}", found_users);
let all_users_after_deletion = user_db.find_all();
println!("All users after deletion: {:?}", all_users_after_deletion);
}