Add Json API to some endpoints #5

Merged
reynir merged 10 commits from json_responses into main 2024-12-20 11:46:47 +00:00
Showing only changes of commit 23db42fed3 - Show all commits

View file

@ -330,18 +330,9 @@ let routes ~datadir ~cachedir ~configdir ~expired_jobs =
Dream.sql req (Model.latest_successful_build_uuid job_id platform))
>>= Model.not_found
|> if_error "Error getting job" >>= fun build ->
match Dream.header req "Accept" with
| Some accept when String.starts_with ~prefix:"application/json" accept ->
let json_response =
`Assoc [
"uuid", `String (Uuidm.to_string build);
] |> Yojson.Basic.to_string
in
Dream.json ~status:`OK json_response |> Lwt_result.ok
| _ ->
Dream.redirect req
(Link.Job_build_artifact.make_from_string ~job_name ~build ~artifact ())
|> Lwt_result.ok
Dream.redirect req
(Link.Job_build_artifact.make_from_string ~job_name ~build ~artifact ())
|> Lwt_result.ok
in
let redirect_latest req =