Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions orb.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cabal-version: 1.12
-- see: https://github.com/sol/hpack

name: orb
version: 0.7.0.0
version: 0.7.1.0
description: Please see the README on GitHub at <https://github.com/flipstone/orb#readme>
homepage: https://github.com/flipstone/orb#readme
bug-reports: https://github.com/flipstone/orb/issues
Expand Down Expand Up @@ -79,7 +79,7 @@ library
aeson
, aeson-pretty
, base >=4.7 && <5
, beeline-params ==0.1.*
, beeline-params ==0.2.*
, beeline-routing ==0.3.*
, bytestring
, case-insensitive
Expand Down Expand Up @@ -127,6 +127,7 @@ test-suite orb-test
Fixtures.NullableRef
Fixtures.NullableRefCollectComponents
Fixtures.OpenApiSubset
Fixtures.SchemaBounds
Fixtures.SchemaDescriptions
Fixtures.SimpleGet
Fixtures.SimplePost
Expand All @@ -147,7 +148,7 @@ test-suite orb-test
aeson
, aeson-pretty
, base >=4.7 && <5
, beeline-params ==0.1.*
, beeline-params ==0.2.*
, beeline-routing
, bytestring
, case-insensitive
Expand Down
4 changes: 2 additions & 2 deletions package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: orb
version: 0.7.0.0
version: 0.7.1.0
github: "flipstone/orb"
license: MIT
author: "Flipstone Technology Partners, Inc"
Expand Down Expand Up @@ -51,7 +51,7 @@ dependencies:
- base >= 4.7 && < 5
- aeson
- aeson-pretty
- beeline-params >= 0.1 && < 0.2
- beeline-params >= 0.2 && < 0.3
- beeline-routing >= 0.3 && < 0.4
- bytestring
- case-insensitive
Expand Down
84 changes: 84 additions & 0 deletions src/Orb/OpenApi.hs
Original file line number Diff line number Diff line change
Expand Up @@ -1377,6 +1377,90 @@ instance FC.Fleece FleeceOpenApi where
. InternalError
$ "Fleece jsonString is not currently implemented for OpenApi"

interpretMinLength len schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMinLength schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMinLength = Just len
}
}
in
fmap addMinLength . mkErrOrSchemaInfo

interpretMaxLength len schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMaxLength schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMaxLength = Just len
}
}
in
fmap addMaxLength . mkErrOrSchemaInfo

interpretMinItems len schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMinItems schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMinItems = Just len
}
}
in
fmap addMinItems . mkErrOrSchemaInfo

interpretMaxItems len schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMaxItems schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMaxItems = Just len
}
}
in
fmap addMaxItems . mkErrOrSchemaInfo

interpretMinimum val schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMinimum schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMinimum = Just (fromInteger val)
}
}
in
fmap addMinimum . mkErrOrSchemaInfo

interpretMaximum val schema =
FleeceOpenApi $
let
FleeceOpenApi mkErrOrSchemaInfo = FC.schemaInterpreter schema
addMaximum schemaInfo =
schemaInfo
{ openApiSchema =
(openApiSchema schemaInfo)
{ OpenApi._schemaMaximum = Just (fromInteger val)
}
}
in
fmap addMaximum . mkErrOrSchemaInfo

--
-- Default implementations we override to get OpenAPI specific behavior.
-- Unfortunately this requires that we duplicate the default implementations
Expand Down
8 changes: 6 additions & 2 deletions stack-ghc-9.10.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,19 @@
resolver: lts-24.12
extra-deps:
- github: flipstone/beeline
commit: 135da92b069d5c25d58539fd9b1ade538a4fbb67
commit: 0b2536c63089ca6bd8f4872787261f4cabe0be61
subdirs:
- beeline-params
- beeline-routing
- beeline-http-client
- github: flipstone/shrubbery
commit: a064ede07e01b753a6eb310fc24d9fd8da1ad826
- github: flipstone/json-fleece
commit: 646f1ef7d31ac0e2028011910f79be482035738d
commit: d4ba35fbc084036558ee1242b0bec7ad1669720c
subdirs:
- json-fleece-aeson
- json-fleece-core
- github: flipstone/bounded-text
commit: 3ef94eeda5402857423284d0c4e021a8c8032498
- template-haskell-lift-0.1.0.0
- template-haskell-quasiquoter-0.1.0.0
79 changes: 52 additions & 27 deletions stack-ghc-9.10.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,42 +7,42 @@ packages:
- completed:
name: beeline-params
pantry-tree:
sha256: 3d0f582f02c160404ea013af8cc1ecd3f7ba6687afba3a6c19fc9e27b092d011
size: 1069
sha256: ed2f434a2fbd42ed7fbdfa0cde8ab6db208cbc13c8ae4e4c9de492732c3a8e3a
size: 35186
sha256: d0db931040ec4773c3af456cad1ef600ed35438b23d3a1c7d15c2ad57b194558
size: 1210
sha256: 225c76196f47339865086c6485e2e387894fd98e22177ac0c25181794aa0021d
size: 36266
subdir: beeline-params
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
version: 0.1.0.1
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
version: 0.2.0.0
original:
subdir: beeline-params
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
- completed:
name: beeline-routing
pantry-tree:
sha256: 2832ddde0518d133fe10496c3e70ee4c91ea2d6c7fafa19f11c9867c9d5bf036
sha256: ac9788a17532bdb3b7e77c7324e8f78f4f65ff12fe8828dfee16960aea2ba246
size: 1119
sha256: ed2f434a2fbd42ed7fbdfa0cde8ab6db208cbc13c8ae4e4c9de492732c3a8e3a
size: 35186
sha256: 225c76196f47339865086c6485e2e387894fd98e22177ac0c25181794aa0021d
size: 36266
subdir: beeline-routing
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
version: 0.3.0.2
original:
subdir: beeline-routing
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
- completed:
name: beeline-http-client
pantry-tree:
sha256: 4bcdc6705d314e3168b3383aec5fe0a083d7129eb03b1f718f20449f757496fe
sha256: f15d423a64227d7bf1b2f8cc32f124eafb4e2af3b436350c551998d21178175e
size: 725
sha256: ed2f434a2fbd42ed7fbdfa0cde8ab6db208cbc13c8ae4e4c9de492732c3a8e3a
size: 35186
sha256: 225c76196f47339865086c6485e2e387894fd98e22177ac0c25181794aa0021d
size: 36266
subdir: beeline-http-client
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
version: 0.9.0.2
original:
subdir: beeline-http-client
url: https://github.com/flipstone/beeline/archive/135da92b069d5c25d58539fd9b1ade538a4fbb67.tar.gz
url: https://github.com/flipstone/beeline/archive/0b2536c63089ca6bd8f4872787261f4cabe0be61.tar.gz
- completed:
name: shrubbery
pantry-tree:
Expand All @@ -59,27 +59,52 @@ packages:
pantry-tree:
sha256: c1204bd17604272fdcdff26ea9e7b932c3bd311acaad307835a37eb3038566f5
size: 628
sha256: 3e33545008707d7c8a8b12107b25bedd685de1f240e820b2b21f5f5c21666a3d
size: 3079670
sha256: 231837e421135133ebee81cb678530eee050303ee40996f2ea459f49bf74c8b0
size: 3086219
subdir: json-fleece-aeson
url: https://github.com/flipstone/json-fleece/archive/646f1ef7d31ac0e2028011910f79be482035738d.tar.gz
url: https://github.com/flipstone/json-fleece/archive/d4ba35fbc084036558ee1242b0bec7ad1669720c.tar.gz
version: 0.5.0.0
original:
subdir: json-fleece-aeson
url: https://github.com/flipstone/json-fleece/archive/646f1ef7d31ac0e2028011910f79be482035738d.tar.gz
url: https://github.com/flipstone/json-fleece/archive/d4ba35fbc084036558ee1242b0bec7ad1669720c.tar.gz
- completed:
name: json-fleece-core
pantry-tree:
sha256: 2a4160e5337f7caff2591c32529e8b1b6366c1be335bb53ad64e59e8b986a14e
sha256: 6932ac19e24bd947d3689b686d17a85066b38ddfbe94f7914d302f66f5646881
size: 491
sha256: 3e33545008707d7c8a8b12107b25bedd685de1f240e820b2b21f5f5c21666a3d
size: 3079670
sha256: 231837e421135133ebee81cb678530eee050303ee40996f2ea459f49bf74c8b0
size: 3086219
subdir: json-fleece-core
url: https://github.com/flipstone/json-fleece/archive/646f1ef7d31ac0e2028011910f79be482035738d.tar.gz
version: 0.11.0.0
url: https://github.com/flipstone/json-fleece/archive/d4ba35fbc084036558ee1242b0bec7ad1669720c.tar.gz
version: 0.11.1.0
original:
subdir: json-fleece-core
url: https://github.com/flipstone/json-fleece/archive/646f1ef7d31ac0e2028011910f79be482035738d.tar.gz
url: https://github.com/flipstone/json-fleece/archive/d4ba35fbc084036558ee1242b0bec7ad1669720c.tar.gz
- completed:
name: bounded-text
pantry-tree:
sha256: e98540b1877ae4709420472f83e8fd04b987eaeb914df72bb33b0bbe55debac2
size: 2162
sha256: 29c500737d8e481fe2e3325fe643a9cafc565ffd06b754bf14219f579d927f5d
size: 11885
url: https://github.com/flipstone/bounded-text/archive/3ef94eeda5402857423284d0c4e021a8c8032498.tar.gz
version: 0.1.2.0
original:
url: https://github.com/flipstone/bounded-text/archive/3ef94eeda5402857423284d0c4e021a8c8032498.tar.gz
- completed:
hackage: template-haskell-lift-0.1.0.0@sha256:f6cd3ee45b0c68480c400bfca9f08f39e8e87a5eb823f206dbe06ab1923a4f1c,1136
pantry-tree:
sha256: 56ab994094c839bebb643ce5fc58dfae6269517ebe91f380e259adaf1def08bf
size: 243
original:
hackage: template-haskell-lift-0.1.0.0
- completed:
hackage: template-haskell-quasiquoter-0.1.0.0@sha256:71027c432c0fb1a293d0f2b1d46dd5be42b9703b7c4b2233ea8076bfc6f84aae,1181
pantry-tree:
sha256: f9f5177a522cc273c001dd5bd749e4f7ed841910c6136711b9b9825bc0bc9c56
size: 257
original:
hackage: template-haskell-quasiquoter-0.1.0.0
snapshots:
- completed:
sha256: 0d0bb681dd5be9b930c8fc070d717aae757b9aed176ae6047d87624b46406816
Expand Down
8 changes: 6 additions & 2 deletions stack-ghc-9.6.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,19 @@
resolver: lts-22.44
extra-deps:
- github: flipstone/beeline
commit: 135da92b069d5c25d58539fd9b1ade538a4fbb67
commit: 0b2536c63089ca6bd8f4872787261f4cabe0be61
subdirs:
- beeline-params
- beeline-routing
- beeline-http-client
- github: flipstone/shrubbery
commit: a064ede07e01b753a6eb310fc24d9fd8da1ad826
- github: flipstone/json-fleece
commit: 646f1ef7d31ac0e2028011910f79be482035738d
commit: d4ba35fbc084036558ee1242b0bec7ad1669720c
subdirs:
- json-fleece-aeson
- json-fleece-core
- github: flipstone/bounded-text
commit: 3ef94eeda5402857423284d0c4e021a8c8032498
- template-haskell-lift-0.1.0.0
- template-haskell-quasiquoter-0.1.0.0
Loading
Loading