diff --git a/.ignore b/.ignore new file mode 100644 index 0000000..45ba1a0 --- /dev/null +++ b/.ignore @@ -0,0 +1 @@ +src/Orb/SwaggerUI/swagger-ui-dist-5.25.2 diff --git a/src/Orb/OpenApi.hs b/src/Orb/OpenApi.hs index 30d7a9d..260d6a7 100644 --- a/src/Orb/OpenApi.hs +++ b/src/Orb/OpenApi.hs @@ -1143,6 +1143,12 @@ instance FC.Fleece FleeceOpenApi where interpretValidateNamed name _uncheck _check (FC.Schema _unvalidatedName (FleeceOpenApi mkErrOrSchemaInfo)) = do FleeceOpenApi $ \path -> do schemaInfo <- mkErrOrSchemaInfo (addSchemaToPath name path) + let + key = Just $ fleeceNameToOpenApiKey name + schemaWithTitle = + (openApiSchema schemaInfo) + { OpenApi._schemaTitle = key + } if schemaIsPrimitive schemaInfo then do @@ -1150,15 +1156,17 @@ instance FC.Fleece FleeceOpenApi where pure $ schemaInfo { fleeceName = name - , openApiKey = Just . fleeceNameToOpenApiKey $ name + , openApiKey = key , openApiNullable = False , schemaComponents = components + , openApiSchema = schemaWithTitle } else pure $ schemaInfo { fleeceName = name - , openApiKey = Just . fleeceNameToOpenApiKey $ name + , openApiKey = key + , openApiSchema = schemaWithTitle } interpretValidateAnonymous _uncheck _check (FC.Schema _name (FleeceOpenApi errOrSchemaInfo)) = do diff --git a/stack.yaml.lock b/stack.yaml.lock index 7e31996..b88183b 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -57,29 +57,29 @@ packages: - completed: name: json-fleece-aeson pantry-tree: - sha256: 311e51d278ac62af3fa97d3ca287d2899cb178c09e6848c2628d96396a11cfb7 + sha256: b8b35942a6cbdcd7f17481944eb2fc2241abfac881cb96b42e1dcce059023152 size: 628 - sha256: f18caef414a23f16270c2556fe9baf5963caaf92a93ebf2b20cea03cdd66867a - size: 3074757 + sha256: c55a25175e1c1674b90d86adcce15f374c55d5ed81ee5cbcf45375d3df703ccf + size: 3074877 subdir: json-fleece-aeson - url: https://github.com/flipstone/json-fleece/archive/67ee72cbd712563e1135dfac391537a282ee870d.tar.gz + url: https://github.com/flipstone/json-fleece/archive/641631cfc2b4fe7721b6d79b875564c6892ee007.tar.gz version: 0.4.0.0 original: subdir: json-fleece-aeson - url: https://github.com/flipstone/json-fleece/archive/67ee72cbd712563e1135dfac391537a282ee870d.tar.gz + url: https://github.com/flipstone/json-fleece/archive/641631cfc2b4fe7721b6d79b875564c6892ee007.tar.gz - completed: name: json-fleece-core pantry-tree: sha256: 2d318c363da8fb4bcd6b1c0817e7528764857dee5e85d1ec74084ff65bee5685 size: 491 - sha256: f18caef414a23f16270c2556fe9baf5963caaf92a93ebf2b20cea03cdd66867a - size: 3074757 + sha256: c55a25175e1c1674b90d86adcce15f374c55d5ed81ee5cbcf45375d3df703ccf + size: 3074877 subdir: json-fleece-core - url: https://github.com/flipstone/json-fleece/archive/67ee72cbd712563e1135dfac391537a282ee870d.tar.gz + url: https://github.com/flipstone/json-fleece/archive/641631cfc2b4fe7721b6d79b875564c6892ee007.tar.gz version: 0.9.0.0 original: subdir: json-fleece-core - url: https://github.com/flipstone/json-fleece/archive/67ee72cbd712563e1135dfac391537a282ee870d.tar.gz + url: https://github.com/flipstone/json-fleece/archive/641631cfc2b4fe7721b6d79b875564c6892ee007.tar.gz snapshots: - completed: sha256: 0d0bb681dd5be9b930c8fc070d717aae757b9aed176ae6047d87624b46406816 diff --git a/test/examples/nullable-ref.json b/test/examples/nullable-ref.json index c1b4e46..ee593a7 100644 --- a/test/examples/nullable-ref.json +++ b/test/examples/nullable-ref.json @@ -14,10 +14,12 @@ "type": "object" }, "MyBool": { + "title": "MyBool", "type": "boolean" }, "MyNullableBool": { "nullable": true, + "title": "MyNullableBool", "type": "boolean" }, "NullableRefResponse": {