//! Prelude module - re-exports commonly used types for convenience.
//!
//! Import this module to get all the common types you need:
//!
//! ```ignore
//! use soot::prelude::*;
//! ```

// Axum re-exports
pub use axum::{
    extract::{Form, Path, Query, State},
    http::StatusCode,
    response::{IntoResponse, Redirect},
    routing::{delete, get, post, put},
    Router,
};

// HTML builder
pub use crate::html::{Html, HtmlBuilder};

// DDD primitives
pub use crate::ddd::{
    Aggregate, AggregateId, DomainEvent, EventBus, EventPublisher, ListableRepository, Repository,
    UnitOfWork, ValueObject, new_aggregate_id,
};

// Error types
pub use crate::error::{AppError, AppResult, ValidationErrors};

// Common external types
pub use chrono::{DateTime, Utc};
pub use uuid::Uuid;
