Skip to main content

rustorm_core/
lib.rs

1//! # rustorm-core
2//!
3//! Ядро ORM: трейты, типы, QueryBuilder.
4//! Не используйте этот крейт напрямую — подключайте `rustorm`.
5
6pub mod column;
7pub mod error;
8pub mod hooks;
9pub mod model;
10pub mod pagination;
11pub mod pool;
12pub mod query;
13pub mod relation;
14pub mod scope;
15pub mod transaction;
16pub mod types;
17pub mod validate;
18
19/// Реэкспорт всего нужного для `use rustorm_core::prelude::*`.
20pub mod prelude {
21    pub use crate::column::{ColumnExpr, FilterExpr, OrderExpr, SqlValue, TimeUnit};
22    pub use crate::error::{OrmError, OrmResult};
23    pub use crate::hooks::Hooks;
24    pub use crate::model::Model;
25    pub use crate::pagination::{CursorPage, Page};
26    pub use crate::pool::{OrmPool, PoolOptions};
27    pub use crate::query::{HasColumns, QueryBuilder, UpdateBuilder};
28    pub use crate::relation::{BelongsToRef, HasManyRef, ManyToManyRef};
29    pub use crate::scope::{ModelScopes, Scope};
30    pub use crate::transaction::{
31        transaction, transaction_with, IsolationLevel, TransactionOptions,
32    };
33    pub use crate::types::{Email, Encrypted, HashedString, JsonField, Money, Slug};
34    pub use crate::validate::{Validate, ValidationContext, ValidationErrors};
35    pub use async_trait::async_trait;
36    pub use chrono::{DateTime, Utc};
37    pub use serde::{Deserialize, Serialize};
38    pub use sqlx::PgPool;
39    pub use uuid::Uuid;
40}