@@ -16,6 +16,7 @@ import Share.Utils.API (NullableUpdate, parseNullableUpdate)
16
16
import Share.Utils.URI
17
17
import Unison.Name (Name )
18
18
import Unison.Server.Doc (Doc )
19
+ import Unison.Server.Share.DefinitionSummary.Types (TermSummary (.. ), TypeSummary (.. ))
19
20
20
21
data UpdateUserRequest = UpdateUserRequest
21
22
{ name :: NullableUpdate Text ,
@@ -189,8 +190,29 @@ data DefinitionSearchResult
189
190
instance ToJSON DefinitionSearchResult where
190
191
toJSON DefinitionSearchResult {.. } =
191
192
Aeson. object
192
- [ " fqn" .= fqn,
193
- " summary" .= summary,
194
- " project" .= project,
195
- " release" .= release
193
+ [ " fqn" Aeson. .= fqn,
194
+ " projectRef" Aeson. .= project,
195
+ " branchRef" Aeson. .= release,
196
+ " kind" Aeson. .= kind,
197
+ " definition" Aeson. .= definition
196
198
]
199
+ where
200
+ (kind, definition) = case summary of
201
+ DefSync. ToTTermSummary TermSummary {displayName, hash, summary, tag} ->
202
+ ( Aeson. String " term" ,
203
+ Aeson. object
204
+ [ " displayName" Aeson. .= displayName,
205
+ " hash" Aeson. .= hash,
206
+ " summary" Aeson. .= summary,
207
+ " tag" Aeson. .= tag
208
+ ]
209
+ )
210
+ DefSync. ToTTypeSummary TypeSummary {displayName, hash, summary, tag} ->
211
+ ( Aeson. String " type" ,
212
+ Aeson. object
213
+ [ " displayName" Aeson. .= displayName,
214
+ " hash" Aeson. .= hash,
215
+ " summary" Aeson. .= summary,
216
+ " tag" Aeson. .= tag
217
+ ]
218
+ )
0 commit comments