1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//! # Brylix Framework
//!
//! A Rust framework for building GraphQL APIs on AWS Lambda with SeaORM
//! and multi-tenant support.
//!
//! ## Features
//!
//! - **GraphQL API** - Built on async-graphql with playground support
//! - **AWS Lambda** - Optimized for serverless deployment
//! - **SeaORM** - Type-safe database operations
//! - **Multi-tenant** - Pool-per-droplet architecture for SaaS
//! - **JWT Authentication** - Secure token-based auth
//!
//! ## Quick Start
//!
//! ```rust,ignore
//! use brylix::prelude::*;
//! use async_graphql::{EmptySubscription, Schema};
//!
//! mod graphql;
//!
//! #[tokio::main]
//! async fn main() -> Result<(), brylix::Error> {
//! Brylix::builder()
//! .config_from_env()
//! .with_jwt_auth()
//! .with_migrations::<migration::Migrator>()
//! .build_schema(|| {
//! Schema::build(graphql::Query, graphql::Mutation, EmptySubscription).finish()
//! })
//! .build()?
//! .run()
//! .await
//! }
//! ```
//!
//! ## Module Overview
//!
//! - [`errors`] - Error handling with GraphQL integration
//! - [`config`] - Configuration management
//! - [`auth`] - JWT authentication
//! - [`validation`] - Input validation
//! - [`db`] - Database initialization
//! - [`graphql`] - GraphQL context and guards
//! - [`handler`] - Lambda HTTP handling
//! - [`provider`] - External service integration
//! - [`provider::email`] - Email provider (feature: `email`)
//! - [`tenant`] - Multi-tenant connection management (feature: `multi-tenant`)
// Re-export commonly used types at the crate root
pub use ;
pub use Config;
pub use ContextData;
/// Lambda error type alias
pub type Error = Error;
/// Result type for Lambda handlers
pub type Result<T> = Result;