pub struct IntermediateSchema {Show 27 fields
pub version: String,
pub types: Vec<IntermediateType>,
pub enums: Vec<IntermediateEnum>,
pub input_types: Vec<IntermediateInputObject>,
pub interfaces: Vec<IntermediateInterface>,
pub unions: Vec<IntermediateUnion>,
pub queries: Vec<IntermediateQuery>,
pub mutations: Vec<IntermediateMutation>,
pub subscriptions: Vec<IntermediateSubscription>,
pub fragments: Option<Vec<IntermediateFragment>>,
pub directives: Option<Vec<IntermediateDirective>>,
pub fact_tables: Option<Vec<IntermediateFactTable>>,
pub aggregate_queries: Option<Vec<IntermediateAggregateQuery>>,
pub observers: Option<Vec<IntermediateObserver>>,
pub custom_scalars: Option<Vec<IntermediateScalar>>,
pub security: Option<Value>,
pub observers_config: Option<Value>,
pub federation_config: Option<Value>,
pub subscriptions_config: Option<SubscriptionsConfig>,
pub validation_config: Option<ValidationConfig>,
pub debug_config: Option<DebugConfig>,
pub mcp_config: Option<McpConfig>,
pub rest_config: Option<RestConfig>,
pub query_defaults: Option<IntermediateQueryDefaults>,
pub naming_convention: NamingConvention,
pub session_variables: Option<SessionVariablesConfig>,
pub hierarchies_config: Option<HierarchiesConfig>,
}Expand description
Intermediate schema - universal format from all language libraries
Fields§
§version: StringSchema format version
types: Vec<IntermediateType>GraphQL object types
enums: Vec<IntermediateEnum>GraphQL enum types
input_types: Vec<IntermediateInputObject>GraphQL input object types
interfaces: Vec<IntermediateInterface>GraphQL interface types (per GraphQL spec §3.7)
unions: Vec<IntermediateUnion>GraphQL union types (per GraphQL spec §3.10)
queries: Vec<IntermediateQuery>GraphQL queries
mutations: Vec<IntermediateMutation>GraphQL mutations
subscriptions: Vec<IntermediateSubscription>GraphQL subscriptions
fragments: Option<Vec<IntermediateFragment>>GraphQL fragments (reusable field selections)
directives: Option<Vec<IntermediateDirective>>GraphQL directive definitions (custom directives)
fact_tables: Option<Vec<IntermediateFactTable>>Analytics fact tables (optional)
aggregate_queries: Option<Vec<IntermediateAggregateQuery>>Analytics aggregate queries (optional)
observers: Option<Vec<IntermediateObserver>>Observer definitions (database change event listeners)
custom_scalars: Option<Vec<IntermediateScalar>>Custom scalar type definitions
Defines custom GraphQL scalar types with validation rules. Custom scalars can be defined in Python, TypeScript, Java, Go, and Rust SDKs, and are compiled into the CompiledSchema’s CustomTypeRegistry.
security: Option<Value>Security configuration (from fraiseql.toml) Compiled from the security section of fraiseql.toml at compile time. Optional - if not provided, defaults are used.
observers_config: Option<Value>Observers/event system configuration (from fraiseql.toml).
Contains backend connection settings (redis_url, nats_url, etc.) compiled
from the [observers] TOML section. Embedded verbatim into the compiled schema.
federation_config: Option<Value>Federation configuration (from fraiseql.toml).
Contains Apollo Federation settings and circuit breaker configuration compiled
from the [federation] TOML section. Embedded verbatim into the compiled schema.
subscriptions_config: Option<SubscriptionsConfig>WebSocket subscription configuration (hooks, limits).
Compiled from the [subscriptions] TOML section. Embedded verbatim into
the compiled schema for server-side consumption.
validation_config: Option<ValidationConfig>Query validation config (depth/complexity limits).
Compiled from [validation] in fraiseql.toml. Embedded into the compiled
schema for server-side consumption.
debug_config: Option<DebugConfig>Debug/development configuration.
Compiled from [debug] in fraiseql.toml. Embedded into the compiled
schema for server-side consumption.
mcp_config: Option<McpConfig>MCP (Model Context Protocol) server configuration.
Compiled from [mcp] in fraiseql.toml. Embedded into the compiled
schema for server-side consumption.
rest_config: Option<RestConfig>REST transport configuration.
Compiled from [rest] in fraiseql.toml. Embedded into the compiled
schema for server-side consumption.
query_defaults: Option<IntermediateQueryDefaults>Global auto-param defaults for list queries (injected from TOML by the merger).
Never present in schema.json — populated at compile time from [query_defaults]
in fraiseql.toml. Used by the converter to resolve per-query auto_params.
naming_convention: NamingConventionNaming convention for GraphQL operation names.
Compiled from fraiseql.toml top-level naming_convention setting.
session_variables: Option<SessionVariablesConfig>Session variable injection configuration.
When populated, the executor calls set_config() before each query and
mutation to inject per-request values (JWT claims, HTTP headers, or literals)
as PostgreSQL transaction-scoped settings.
Embedded verbatim from the session_variables key in schema.json.
hierarchies_config: Option<HierarchiesConfig>Hierarchy definitions for ID-based ltree operators.
Compiled from the [hierarchies] TOML section. Maps hierarchy names
to table/path_column pairs for subquery generation.
Trait Implementations§
Source§impl Clone for IntermediateSchema
impl Clone for IntermediateSchema
Source§fn clone(&self) -> IntermediateSchema
fn clone(&self) -> IntermediateSchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntermediateSchema
impl Debug for IntermediateSchema
Source§impl Default for IntermediateSchema
impl Default for IntermediateSchema
Source§fn default() -> IntermediateSchema
fn default() -> IntermediateSchema
Source§impl<'de> Deserialize<'de> for IntermediateSchema
impl<'de> Deserialize<'de> for IntermediateSchema
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for IntermediateSchema
impl PartialEq for IntermediateSchema
Source§fn eq(&self, other: &IntermediateSchema) -> bool
fn eq(&self, other: &IntermediateSchema) -> bool
self and other values to be equal, and is used by ==.