feat(users/Profpatsch/whatcd-resolver): implement artist refresh v0
This is kind of a chonker because I went into so many rabbit holes. Foremost this implements a simple “Refresh Artist” button that fetches current artist torrent groups. BUG: the `artist` endpoint torrent struct is shite, it’s missing most info that we get in the `search` endpoint torrent struct, plus it’s organized differently (e.g. the `artists` thingy is in the torrent_group not the torrent). I should switch everything over to fetching the `torrent_group.id`s first and then going through and slowly fetching every torrent group separately … however that might time out very quickly. ugh. There doesn’t seem to be a way of fetching multiple torrent groups. Random other shit & improvements: * intersperse for builders * fix json errors so that the structs don’t get too big (`restrictJson`) * show error messages as json so jaeger displays it with nested UI * color pretty-printed json outpt on command line * add some important integral functions to MyPrelude * add `sintersperse` and `mintersperse` to MyPrelude Change-Id: If8bfcd68dc5c905e118ad86d50d7416962bf55d4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12960 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
cabb8cd3d0
commit
3040fe2e90
9 changed files with 584 additions and 163 deletions
|
|
@ -127,8 +127,16 @@ httpJson opts parser req = inSpan' "HTTP Request (JSON)" $ \span -> do
|
|||
let res = Json.parseValue parser val
|
||||
case res of
|
||||
Left e -> do
|
||||
let prettyErr = Json.parseErrorTreeValCtx "could not parse HTTP response" val e
|
||||
appThrow span (AppExceptionTree prettyErr)
|
||||
let err = Json.parseErrorTreeValCtx val e
|
||||
appThrow
|
||||
span
|
||||
( AppExceptionEnc $
|
||||
Enc.tuple3
|
||||
Enc.text
|
||||
Enc.enc
|
||||
(Enc.nullOr Enc.value)
|
||||
("Could not parse HTTP response", err.errorMessage, err.valueAtErrorPath)
|
||||
)
|
||||
Right a -> pure a
|
||||
|
||||
hush :: Either e a -> Maybe a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue