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 #[inline]
21 fn new() -> Self {
22 Self::default()
23 }
24
25 #[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}