Skip to content

Commit fb2d61f

Browse files
committed
...
1 parent be2090b commit fb2d61f

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

libs/wire-api/src/Wire/API/User/RichInfo.hs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ richInfoMapAndListSchema =
184184
( RichInfoMapAndList
185185
<$> richInfoMap
186186
.= ( fromMaybe mempty
187-
<$> ciOptField richInfoMapURN richInfoMapSchema
187+
<$> ciOptField richInfoMapURN (mapWithKeys CI.original CI.mk schema)
188188
)
189189
<*> richInfoAssocList
190190
.= ( fromMaybe mempty
@@ -197,9 +197,6 @@ richInfoMapAndListSchema =
197197
)
198198
(pure . normalizeRichInfoMapAndList)
199199

200-
richInfoMapSchema :: ValueSchema SwaggerDoc (Map (CI Text) Text)
201-
richInfoMapSchema = mapWithKeys CI.original CI.mk schema
202-
203200
-- | Uses 'normalizeRichInfoMapAndList'.
204201
mkRichInfoMapAndList :: [RichField] -> RichInfoMapAndList
205202
mkRichInfoMapAndList = normalizeRichInfoMapAndList . RichInfoMapAndList mempty
@@ -275,17 +272,22 @@ instance Semigroup RichInfoAssocList where
275272
RichInfoAssocList a <> RichInfoAssocList b = RichInfoAssocList $ a <> b
276273

277274
instance ToSchema RichInfoAssocList where
278-
schema = ciObject "RichInfoAssocList" richInfoAssocListSchema
279-
280-
richInfoAssocListSchema :: CIObjectSchema SwaggerDoc RichInfoAssocList
281-
richInfoAssocListSchema =
282-
withParser
283-
( (,)
284-
<$> const (0 :: Int) .= ciField "version" schema
285-
<*> unRichInfoAssocList .= ciField "fields" (array schema)
286-
)
287-
$ \(version, fields) ->
288-
mkRichInfoAssocList <$> validateRichInfoAssocList version fields
275+
schema =
276+
ciObject "RichInfoAssocList" richInfoAssocListSchema
277+
<|> richInfoAssocListSchemaLegacy
278+
where
279+
richInfoAssocListSchemaLegacy :: ValueSchema NamedSwaggerDoc RichInfoAssocList
280+
richInfoAssocListSchemaLegacy = array (schema @RichField)
281+
282+
richInfoAssocListSchema :: CIObjectSchema SwaggerDoc RichInfoAssocList
283+
richInfoAssocListSchema =
284+
withParser
285+
( (,)
286+
<$> const (0 :: Int) .= ciField "version" schema
287+
<*> unRichInfoAssocList .= ciField "fields" (array schema)
288+
)
289+
$ \(version, fields) ->
290+
mkRichInfoAssocList <$> validateRichInfoAssocList version fields
289291

290292
validateRichInfoAssocList :: Int -> [RichField] -> A.Parser [RichField]
291293
validateRichInfoAssocList version fields = do

0 commit comments

Comments
 (0)