1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
from collections import OrderedDict
from openapi_core.casting.schemas.casters import ArrayCaster
from openapi_core.casting.schemas.casters import BooleanCaster
from openapi_core.casting.schemas.casters import IntegerCaster
from openapi_core.casting.schemas.casters import NumberCaster
from openapi_core.casting.schemas.casters import ObjectCaster
from openapi_core.casting.schemas.casters import PrimitiveCaster
from openapi_core.casting.schemas.casters import TypesCaster
from openapi_core.casting.schemas.factories import SchemaCastersFactory
from openapi_core.validation.schemas import (
oas30_read_schema_validators_factory,
)
from openapi_core.validation.schemas import (
oas30_write_schema_validators_factory,
)
from openapi_core.validation.schemas import oas31_schema_validators_factory
__all__ = [
"oas30_write_schema_casters_factory",
"oas30_read_schema_casters_factory",
"oas31_schema_casters_factory",
]
oas30_casters_dict = OrderedDict(
[
("object", ObjectCaster),
("array", ArrayCaster),
("boolean", BooleanCaster),
("integer", IntegerCaster),
("number", NumberCaster),
("string", PrimitiveCaster),
]
)
oas31_casters_dict = oas30_casters_dict.copy()
oas31_casters_dict.update(
{
"null": PrimitiveCaster,
}
)
oas30_types_caster = TypesCaster(
oas30_casters_dict,
PrimitiveCaster,
)
oas31_types_caster = TypesCaster(
oas31_casters_dict,
PrimitiveCaster,
multi=PrimitiveCaster,
)
oas30_write_schema_casters_factory = SchemaCastersFactory(
oas30_write_schema_validators_factory,
oas30_types_caster,
)
oas30_read_schema_casters_factory = SchemaCastersFactory(
oas30_read_schema_validators_factory,
oas30_types_caster,
)
oas31_schema_casters_factory = SchemaCastersFactory(
oas31_schema_validators_factory,
oas31_types_caster,
)
|