diff --git a/src/Deriving/OpenApi.hs b/src/Deriving/OpenApi.hs index 41ee075..463655a 100644 --- a/src/Deriving/OpenApi.hs +++ b/src/Deriving/OpenApi.hs @@ -40,6 +40,7 @@ import Control.Lens import qualified Data.Aeson.Types as A import Data.OpenApi import Data.OpenApi.Internal.Schema +import Data.OpenApi.Internal.ParamSchema import Data.Proxy import Data.Typeable import Deriving.Aeson @@ -77,6 +78,13 @@ instance openApiSchemaModifier @xs <$> genericDeclareNamedSchema (openApiOptionsModifier @xs defaultSchemaOptions) (Proxy @x) +instance + (OpenApiOptionModifier xs, GToParamSchema (Rep x), Generic x) => + ToParamSchema (CustomJSON (xs :: k) x) + where + toParamSchema Proxy = + genericToParamSchema (openApiOptionsModifier @xs defaultSchemaOptions) (Proxy @x) + class OpenApiOptionModifier x where openApiOptionsModifier :: SchemaOptions -> SchemaOptions openApiOptionsModifier = id