1#![cfg_attr(feature = "fail-on-warnings", deny(warnings))]
24#![cfg_attr(feature = "fail-on-warnings", deny(clippy::all))]
25
26pub mod error;
27pub mod events;
28pub mod idempotent;
29mod macros;
30pub mod nested;
31pub mod one_time_executor;
32pub mod operation;
33pub mod pagination;
34pub mod query;
35pub mod traits;
36
37pub mod prelude {
38 pub use chrono;
41 pub use serde;
42 pub use serde_json;
43 pub use sqlx;
44 pub use uuid;
45
46 #[cfg(feature = "json-schema")]
47 pub use schemars;
48}
49
50#[doc(inline)]
51pub use error::*;
52pub use es_entity_macros::EsEntity;
53pub use es_entity_macros::EsEvent;
54pub use es_entity_macros::EsRepo;
55pub use es_entity_macros::expand_es_query;
56pub use es_entity_macros::retry_on_concurrent_modification;
57#[doc(inline)]
58pub use events::*;
59#[doc(inline)]
60pub use idempotent::*;
61#[doc(inline)]
62pub use nested::*;
63#[doc(inline)]
64pub use one_time_executor::*;
65#[doc(inline)]
66pub use operation::*;
67#[doc(inline)]
68pub use pagination::*;
69#[doc(inline)]
70pub use query::*;
71#[doc(inline)]
72pub use traits::*;
73
74#[cfg(feature = "graphql")]
75pub mod graphql {
76 pub use async_graphql;
77 pub use base64;
78
79 #[derive(Debug, serde::Serialize, serde::Deserialize, Clone, Copy)]
80 #[serde(transparent)]
81 pub struct UUID(crate::prelude::uuid::Uuid);
82 async_graphql::scalar!(UUID);
83 impl<T: Into<crate::prelude::uuid::Uuid>> From<T> for UUID {
84 fn from(id: T) -> Self {
85 let uuid = id.into();
86 Self(uuid)
87 }
88 }
89 impl From<&UUID> for crate::prelude::uuid::Uuid {
90 fn from(id: &UUID) -> Self {
91 id.0
92 }
93 }
94}