[−][src]Trait dodo::Entity
Entity in a repository.
Entities are identified by a Uuid, chosen by
a repository. Having no id (i.e. None
) usually means it is not persisted in a repository.
Entities are required to be serializable and deserializable in order to be persisted.
Example
use dodo::prelude::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Person { id: Option<Uuid>, name: String, age: u64, } impl Entity for Person { fn id(&self) -> Option<Uuid> { self.id } fn set_id(&mut self,id: Option<Uuid>) { self.id = id } }
Derive
Use the Entity
derive to quickly implement this trait.
use dodo::prelude::*; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Entity, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Person { id: Option<Uuid>, name: String, age: u64, }