Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
1 change: 1 addition & 0 deletions changelog.d/5-internal/fix-swagger-errors
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix more Swagger validation errors.
18 changes: 16 additions & 2 deletions services/brig/src/Brig/API/Public.hs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ import Brig.User.Phone
import qualified Cassandra as C
import qualified Cassandra as Data
import Control.Error hiding (bool)
import Control.Lens (view, (%~), (.~), (?~), (^.))
import Control.Lens (view, (%~), (.~), (?~), (^.), _Just)
import Control.Monad.Catch (throwM)
import Data.Aeson hiding (json)
import Data.ByteString.Conversion
Expand Down Expand Up @@ -134,10 +134,24 @@ swaggerDocsAPI =
& S.info . S.title .~ "Wire-Server API"
& S.info . S.description ?~ desc
& S.security %~ nub
-- sanitise definitions
& S.definitions . traverse %~ sanitise
-- sanitise general responses
& S.responses . traverse . S.schema . _Just . S._Inline %~ sanitise
-- sanitise all responses of all paths
& S.allOperations . S.responses . S.responses
. traverse
. S._Inline
. S.schema
. _Just
. S._Inline
%~ sanitise
where
sanitise :: S.Schema -> S.Schema
sanitise = (S.properties . traverse . S._Inline %~ sanitise) . (S.required %~ nubOrd)
sanitise =
(S.properties . traverse . S._Inline %~ sanitise)
. (S.required %~ nubOrd)
. (S.enum_ . _Just %~ nub)
desc =
Text.pack
[QQ.i|
Expand Down