Skip to main content

Crate brylix

Crate brylix 

Source
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 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-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.

Type Aliases§

Error
Lambda error type alias
Result
Result type for Lambda handlers