fraiseql_core/validation/
mod.rs1pub mod async_validators;
7pub mod checksum;
8pub mod compile_time;
9pub mod composite;
10pub mod cross_field;
11pub mod custom_scalar;
12pub mod custom_scalar_registry;
13pub mod custom_type_registry;
14pub mod date_validators;
15pub mod elo_expressions;
16pub mod elo_rust_integration;
17pub mod error_responses;
18mod id_policy;
19pub mod inheritance;
20pub mod input_object;
21mod input_processor;
22pub mod mutual_exclusivity;
23pub mod rate_limiting;
24pub mod rich_scalars;
25pub mod rules;
26pub mod scalar_validator;
27pub mod validators;
28
29pub use async_validators::{
30 AsyncValidator, AsyncValidatorConfig, AsyncValidatorProvider, MockEmailDomainValidator,
31 MockPhoneNumberValidator,
32};
33pub use checksum::{LuhnValidator, Mod97Validator};
34pub use compile_time::{
35 CompileTimeError, CompileTimeValidationResult, CompileTimeValidator, FieldType, SchemaContext,
36 TypeDef,
37};
38pub use composite::{
39 CompositeError, CompositeOperator, validate_all, validate_any, validate_not, validate_optional,
40};
41pub use cross_field::{ComparisonOperator, validate_cross_field_comparison};
42pub use custom_scalar::CustomScalar;
43pub use custom_scalar_registry::CustomScalarRegistry;
44pub use custom_type_registry::{CustomTypeDef, CustomTypeRegistry, CustomTypeRegistryConfig};
45pub use date_validators::{
46 validate_date_range, validate_max_age, validate_max_date, validate_max_days_in_future,
47 validate_max_days_in_past, validate_min_age, validate_min_date,
48};
49pub use elo_expressions::{EloExpressionEvaluator, EloValidationResult};
50pub use elo_rust_integration::{
51 EloRustValidator, RustValidatorRegistry, RustValidatorRegistryConfig,
52};
53pub use id_policy::{
54 IDPolicy, IDValidationError, IDValidationProfile, ValidationProfileType, validate_id,
55};
56pub use inheritance::{
57 InheritanceMode, RuleMetadata, ValidationRuleRegistry, inherit_validation_rules,
58 validate_inheritance,
59};
60pub use input_object::{InputObjectRule, InputObjectValidationResult, validate_input_object};
61pub use input_processor::{InputProcessingConfig, ProcessingError, process_variables};
62pub use mutual_exclusivity::{
63 AnyOfValidator, ConditionalRequiredValidator, OneOfValidator, RequiredIfAbsentValidator,
64};
65pub use rate_limiting::{ValidationRateLimiter, ValidationRateLimitingConfig};
66pub use rich_scalars::{CountryCodeValidator, EmailValidator, PhoneNumberValidator, VinValidator};
67pub use rules::ValidationRule;
68pub use scalar_validator::{
69 ScalarValidationError, ValidationContext, validate_custom_scalar,
70 validate_custom_scalar_parse_value,
71};
72pub use validators::{EnumValidator, LengthValidator, PatternValidator, RangeValidator, Validator};