Skip to main content

puerto_core/
lib.rs

1//! Puerto's runtime core: the domain types every project generated by
2//! [Puerto](https://github.com/Guuri11/Puerto) shares, whatever its entities and adapters — paged
3//! lists, the repository error, domain events with the ports their transports implement, and the
4//! mail ports, and the auth port.
5//!
6//! No driver, no runtime, no I/O: a project's domain layer depends on it (ADR-0017, ADR-0018).
7
8pub mod auth;
9pub mod events;
10pub mod mail;
11pub mod pagination;
12pub mod repository_error;
13
14pub use auth::{AuthError, Authenticator, Principal};
15pub use events::{DecodeError, DomainEvent, EventEnvelope, EventHandler, HandlerOutcome};
16pub use pagination::{DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, Page, PageRequest};
17pub use repository_error::RepositoryError;