edm_orm/model/
mod.rs

1use serde::de::DeserializeOwned;
2use serde::Serialize;
3
4mod column;
5mod context;
6mod hooks;
7mod query;
8mod reference;
9mod row;
10
11pub use column::Column;
12pub use context::QueryContext;
13
14use edm_core::request::Validation;
15use edm_core::JsonMap;
16
17pub use hooks::ModelHooks;
18pub trait Model: Default + Serialize + DeserializeOwned {
19    /// 创建实例对象
20    #[inline]
21    fn new() -> Self {
22        Self::default()
23    }
24
25    /// 使用 `JsonMap`对象更新模型,并且返回一个 `Validation`结果.
26    #[must_use]
27    fn read_json_map(&mut self, data: &JsonMap) -> Validation {
28        let mut validation = Validation::new();
29        if data.is_empty() {
30            validation.add("data", "数据不能为空.")
31        }
32        validation
33    }
34}