Packages
open_api_spex
3.17.3
3.22.3
3.22.2
3.22.1
3.22.0
3.21.5
3.21.4
3.21.3
3.21.2
3.21.1
3.21.0
3.20.1
3.20.0
3.19.1
3.19.0
3.18.3
3.18.2
3.18.1
3.18.0
3.17.3
3.17.2
3.17.1
3.17.0
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.0
3.2.1
3.2.0
3.1.0
3.0.0
2.3.1
2.3.0
2.2.0
2.1.1
2.1.0
2.0.0
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
Leverage Open Api Specification 3 (swagger) to document, test, validate and explore your Plug and Phoenix APIs.
Current section
Files
Jump to
Current section
Files
lib/open_api_spex/cast/schema_exception.ex
defmodule OpenApiSpex.SchemaException do
defexception [:message]
@impl true
def exception(%{error: :discriminator_schema_missing_title, schema: schema, details: details}) do
identifier = schema.title || schema.type
discriminator = details[:property_name]
details =
"Invalid Schema for discriminator, schema must have a title. " <>
"Discriminator propertyName: " <> discriminator <> "schema: " <> inspect(schema)
exception(%{identifier: identifier, details: details})
end
def exception(%{error: :discriminator_missing_composite_key, schema: schema}) do
identifier = schema.title || schema.type
details = "Discriminators require a composite key (`allOf`, `anyOf`, `oneOf`) be set."
exception(%{identifier: identifier, details: details})
end
def exception(%{identifier: identifier, details: details}) do
message = "Fatal! Improperly defined schema `#{identifier}`.\n\tDetails: #{details}\n"
%__MODULE__{message: message}
end
def exception(value) do
"Error Resolving Schema, details: #{inspect(value)}"
end
end