pjson_rs/application/
mod.rs1pub mod commands;
7pub mod dto;
8pub mod handlers;
9pub mod queries;
10pub mod services;
11
12pub use commands::*;
13pub use handlers::{CommandHandler, QueryHandler};
14pub use queries::*;
15
16pub type ApplicationResult<T> = Result<T, ApplicationError>;
18
19#[derive(Debug, thiserror::Error)]
21pub enum ApplicationError {
22 #[error("Domain error: {0}")]
23 Domain(#[from] crate::domain::DomainError),
24
25 #[error("Validation error: {0}")]
26 Validation(String),
27
28 #[error("Authorization error: {0}")]
29 Authorization(String),
30
31 #[error("Concurrency error: {0}")]
32 Concurrency(String),
33
34 #[error("Not found: {0}")]
35 NotFound(String),
36
37 #[error("Conflict: {0}")]
38 Conflict(String),
39
40 #[error("Application logic error: {0}")]
41 Logic(String),
42}