Expand description
§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
ⓘ
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 integrationconfig- Configuration managementauth- JWT authenticationvalidation- Input validationdb- Database initializationgraphql- GraphQL context and guardshandler- Lambda HTTP handlingprovider- External service integration- [
provider::email] - Email provider (feature:email) - [
tenant] - Multi-tenant connection management (feature:multi-tenant)
Re-exports§
pub use errors::DomainError;pub use errors::DomainResult;pub use config::Config;pub use graphql::ContextData;
Modules§
- auth
- JWT authentication module for Brylix applications.
- config
- Configuration management for Brylix applications.
- db
- Database initialization and connection management.
- errors
- Error handling module for the Brylix framework.
- graphql
- GraphQL utilities for Brylix applications.
- handler
- Lambda HTTP handler for GraphQL APIs.
- helpers
- Common helper utilities for Brylix applications.
- prelude
- Prelude module for convenient imports.
- provider
- Provider traits for external service integrations.
- validation
- Input validation functions for Brylix applications.
Macros§
- gql_id
- Convenience macro for parsing GraphQL IDs.