pjson_rs/application/
mod.rs1pub mod commands;
7pub mod dto;
8pub mod handlers;
9pub mod queries;
10pub mod shared;
11
12pub use commands::{
13 BatchGenerateFramesCommand, CloseSessionCommand, CompleteStreamCommand, CreateSessionCommand,
14 CreateStreamCommand, GenerateFramesCommand, StartStreamCommand,
15};
16pub use queries::{
17 FramesResponse, GetActiveSessionsQuery, GetSessionHealthQuery, GetSessionQuery,
18 GetSessionStatsQuery, GetStreamFramesQuery, GetStreamQuery, GetStreamsForSessionQuery,
19 GetSystemStatsQuery, HealthResponse, SearchSessionsQuery, SessionFilters, SessionResponse,
20 SessionSortField, SessionStatsResponse, SessionsResponse, SortOrder, StreamResponse,
21 StreamsResponse, SystemStatsResponse,
22};
23pub use shared::AdjustmentUrgency;
24
25pub type ApplicationResult<T> = Result<T, ApplicationError>;
27
28#[derive(Debug, thiserror::Error)]
30pub enum ApplicationError {
31 #[error("Domain error: {0}")]
33 Domain(#[from] crate::domain::DomainError),
34
35 #[error("Validation error: {0}")]
37 Validation(String),
38
39 #[error("Authorization error: {0}")]
41 Authorization(String),
42
43 #[error("Concurrency error: {0}")]
45 Concurrency(String),
46
47 #[error("Not found: {0}")]
49 NotFound(String),
50
51 #[error("Conflict: {0}")]
53 Conflict(String),
54
55 #[error("Application logic error: {0}")]
57 Logic(String),
58}