Expand description
Compiled Schema Types
This module defines the Rust-owned schema representation loaded from a compiled schema at startup time.
§Architecture
Authoring language Rust
(Python, TS, Go, …) ────
@fraiseql.type ─┐
@fraiseql.query ├─→ schema.json ─→ fraiseql-cli compile ─→ CompiledSchema
@fraiseql.mutation─┘ (Rust-owned)
│
▼
Axum serves requests
(authoring language not involved)§Key Invariant
After CompiledSchema::from_json(), all data is Rust-owned.
No authoring-language objects are referenced during request handling.
§Usage
// Requires: a compiled schema JSON file from `fraiseql-cli compile`.
use fraiseql_core::schema::CompiledSchema;
// From schema.compiled.json produced by `fraiseql-cli compile`
let schema = CompiledSchema::from_json(json_str, false)?;
// From CLI config file
let schema = CompiledSchema::from_json(&std::fs::read_to_string("schema.json")?, false)?;
// Access schema info
println!("Types: {}", schema.types.len());
println!("Queries: {}", schema.queries.len());Re-exports§
pub use graphql_value::GraphQLValue;pub use security_config::InjectedParamSource;pub use security_config::RoleDefinition;pub use security_config::SecurityConfig;pub use security_config::TenancyConfig;pub use security_config::TenancyMode;
Modules§
- domain_
types - Domain-specific string newtypes for GraphQL schema identifiers.
- graphql_
value - Typed GraphQL literal values.
- introspection_
types - GraphQL introspection mirror types.
- security_
config - Security configuration types for compiled schemas.
Structs§
- Argument
Definition - Query/mutation/subscription argument definition.
- Authorization
Policy - Authorization policy (RBAC/ABAC).
- Authorization
Rule - Custom authorization rule.
- Auto
Params - Auto-wired query parameters.
- Change
Impact - Result of analyzing the impact of deleting or modifying a type.
- Circuit
Breaker Config - Circuit breaker configuration for federation entity resolution.
- Compiled
Schema - Complete compiled schema - all type information for serving.
- Compiled
Security Config - Security configuration compiled from fraiseql.toml.
- Crud
Naming Config - CRUD function naming configuration, compiled from
[crud]infraiseql.toml. - Cycle
Path - A path representing a circular dependency in the schema.
- Debug
Config - Debug/development configuration (compiled from
[debug]infraiseql.toml). - Deprecation
Info - Deprecation information for a field or type.
- Directive
Definition - A custom directive definition for schema extension.
- Enterprise
Security Config - Enterprise security features.
- Entity
Circuit Breaker Override - Per-entity circuit breaker configuration override.
- Enum
Definition - A GraphQL enum type definition.
- Enum
Value Definition - A single value within a GraphQL enum type.
- Event
Handler - Event handler configuration.
- Federation
Config - Federation configuration for Apollo Federation v2 support.
- Federation
Entity - Federated entity configuration.
- Field
Auth Rule - Field-level authorization rule.
- Field
Definition - A field within a GraphQL type.
- Field
Encryption Config - Encryption configuration for a field in the compiled schema.
- Grpc
Config - gRPC transport configuration (compiled from
[grpc]infraiseql.toml). - Hierarchy
Definition - A single hierarchy definition mapping a name to its database table and ltree path column.
- Input
Field Definition - A field within a GraphQL input object type.
- Input
Object Definition - A GraphQL input object type definition.
- Interface
Definition - A GraphQL interface type definition.
- Introspection
Builder - Builds introspection schema from compiled schema.
- Introspection
Directive __Directiveintrospection type.- Introspection
Enum Value __EnumValueintrospection type.- Introspection
Field __Fieldintrospection type.- Introspection
Input Value __InputValueintrospection type.- Introspection
Responses - Pre-built introspection responses for fast serving.
- Introspection
Schema __Schemaintrospection type.- Introspection
Type __Typeintrospection type.- Introspection
Type Ref - Type reference (simplified type with just name).
- Introspection
Validation Rule - Validation rule for input field in introspection format.
- McpConfig
- MCP (Model Context Protocol) server configuration (compiled from
[mcp]infraiseql.toml). - Mutation
Definition - A mutation definition compiled from
@fraiseql.mutation. - Observer
Definition - Observer definition - database change event listener.
- Observers
Config - Observers/event system configuration.
- Query
Definition - A query definition compiled from
@fraiseql.query. - Relationship
- A relationship between two schema types for REST resource embedding.
- Rest
Config - REST transport configuration (compiled from
[rest]infraiseql.toml). - Retry
Config - Retry configuration for observer actions.
- Schema
Dependency Graph - Schema dependency graph for analyzing type relationships.
- Session
Variable Mapping - One session variable declaration.
- Session
Variables Config - Top-level session variables configuration in the compiled schema.
- SqlProjection
Hint - SQL projection hint for database-specific field projection optimization.
- Static
Filter Condition - A static filter condition for subscription matching.
- Subscription
Definition - A subscription definition.
- Subscription
Filter - Filter configuration for subscription event matching.
- Subscription
Hooks Config - Webhook URLs invoked during subscription lifecycle events.
- Subscriptions
Config WebSocketsubscription configuration (compiled from[subscriptions]infraiseql.toml).- Type
Definition - A GraphQL type definition compiled from
@fraiseql.type. - Union
Definition - A GraphQL union type definition.
- Validation
Config - Query validation limits (compiled from
[validation]infraiseql.toml). - Vector
Config - Configuration for a vector field (pgvector).
Enums§
- Cardinality
- Relationship cardinality between REST resources.
- Crud
Naming Preset - Built-in CRUD naming preset for automatic
sql_sourceresolution. - Cursor
Type - The type of column used as the keyset cursor for relay pagination.
- Delete
Response - How DELETE endpoints report success.
- Directive
Location __DirectiveLocationenum per GraphQL spec §4.1.5.- Directive
Location Kind - Directive location kinds for custom directive definitions.
- Distance
Metric - Distance metric for vector similarity calculations.
- Field
Deny Policy - Policy applied when a user lacks the required scope for a field.
- Field
Type - Supported field types in GraphQL schema.
- Filter
Operator - Filter comparison operators.
- Mutation
Operation - Mutation operation types.
- Naming
Convention - Naming convention for GraphQL operation names.
- Session
Variable Source - Where a session variable’s value comes from.
- Type
Kind __TypeKindenum per GraphQL spec §4.1.4.- Vector
Index Type - Index type for vector similarity search.
Constants§
- BUILTIN_
SCALARS - Builtin GraphQL scalar types that are always available.
- CURRENT_
SCHEMA_ FORMAT_ VERSION - Current schema format version.
- RICH_
SCALARS - Rich scalar types with validation rules beyond basic GraphQL scalars.
Functions§
- canonicalize_
json - Recursively sort all JSON object keys to produce a canonical representation.
- is_
known_ scalar - Check if a type name is a known scalar (builtin or rich).
- is_
safe_ sql_ identifier - Validates that a string is a safe SQL identifier.
Type Aliases§
- Hierarchies
Config - Maps hierarchy names to their
HierarchyDefinition.