Skip to main content

Module schema

Module schema 

Source
Expand description

Compiled Schema Types

This module defines the Rust-owned schema representation that is compiled from Python/TypeScript decorators at startup time.

§Architecture

Python/TypeScript                    Rust
─────────────────                    ────
@fraiseql.type    ─┐
@fraiseql.query    ├─→ SchemaCompiler ─→ JSON ─→ CompiledSchema
@fraiseql.mutation─┘                              (Rust-owned)
                                                       │
                                                       ▼
                                             Axum serves requests
                                             (Python/TS irrelevant)

§Key Invariant

After CompiledSchema::from_json(), all data is Rust-owned. No Python/TypeScript objects are referenced during request handling.

§Usage

use fraiseql_core::schema::CompiledSchema;

// From Python-compiled JSON
let schema = CompiledSchema::from_json(json_str)?;

// From CLI config file
let schema = CompiledSchema::from_json(&std::fs::read_to_string("schema.json")?)?;

// Access schema info
println!("Types: {}", schema.types.len());
println!("Queries: {}", schema.queries.len());

Structs§

ArgumentDefinition
Query/mutation/subscription argument definition.
AuthorizationPolicy
Authorization policy (RBAC/ABAC).
AuthorizationRule
Custom authorization rule.
AutoParams
Auto-wired query parameters.
ChangeImpact
Result of analyzing the impact of deleting or modifying a type.
CircuitBreakerConfig
Circuit breaker configuration for federation entity resolution.
CompiledSchema
Complete compiled schema - all type information for serving.
CompiledSecurityConfig
Security configuration compiled from fraiseql.toml.
CyclePath
A path representing a circular dependency in the schema.
DeprecationInfo
Deprecation information for a field or type.
DirectiveDefinition
A custom directive definition for schema extension.
EnterpriseSecurityConfig
Enterprise security features.
EntityCircuitBreakerOverride
Per-entity circuit breaker configuration override.
EnumDefinition
A GraphQL enum type definition.
EnumValueDefinition
A single value within a GraphQL enum type.
EventHandler
Event handler configuration.
FederationConfig
Federation configuration for Apollo Federation v2 support.
FederationEntity
Federated entity configuration.
FieldAuthRule
Field-level authorization rule.
FieldDefinition
A field within a GraphQL type.
FieldEncryptionConfig
Encryption configuration for a field in the compiled schema.
InputFieldDefinition
A field within a GraphQL input object type.
InputObjectDefinition
A GraphQL input object type definition.
InterfaceDefinition
A GraphQL interface type definition.
IntrospectionBuilder
Builds introspection schema from compiled schema.
IntrospectionDirective
__Directive introspection type.
IntrospectionEnumValue
__EnumValue introspection type.
IntrospectionField
__Field introspection type.
IntrospectionInputValue
__InputValue introspection type.
IntrospectionResponses
Pre-built introspection responses for fast serving.
IntrospectionSchema
__Schema introspection type.
IntrospectionType
__Type introspection type.
IntrospectionTypeRef
Type reference (simplified type with just name).
IntrospectionValidationRule
Validation rule for input field in introspection format.
MutationDefinition
A mutation definition compiled from @fraiseql.mutation.
ObserverDefinition
Observer definition - database change event listener.
ObserversConfig
Observers/event system configuration.
QueryDefinition
A query definition compiled from @fraiseql.query.
RetryConfig
Retry configuration for observer actions.
RoleDefinition
Role definition for field-level RBAC.
SchemaDependencyGraph
Schema dependency graph for analyzing type relationships.
SecurityConfig
Security configuration from fraiseql.toml.
SqlProjectionHint
SQL projection hint for database-specific field projection optimization.
StaticFilterCondition
A static filter condition for subscription matching.
SubscriptionDefinition
A subscription definition.
SubscriptionFilter
Filter configuration for subscription event matching.
TypeDefinition
A GraphQL type definition compiled from @fraiseql.type.
UnionDefinition
A GraphQL union type definition.
VectorConfig
Configuration for a vector field (pgvector).

Enums§

DirectiveLocation
__DirectiveLocation enum per GraphQL spec §4.1.5.
DirectiveLocationKind
Directive location kinds for custom directive definitions.
DistanceMetric
Distance metric for vector similarity calculations.
FieldType
Supported field types in GraphQL schema.
FilterOperator
Filter comparison operators.
MutationOperation
Mutation operation types.
TypeKind
__TypeKind enum per GraphQL spec §4.1.4.
VectorIndexType
Index type for vector similarity search.

Constants§

BUILTIN_SCALARS
Builtin GraphQL scalar types that are always available.
RICH_SCALARS
Rich scalar types with validation rules beyond basic GraphQL scalars.

Functions§

is_known_scalar
Check if a type name is a known scalar (builtin or rich).