1module Status.Api exposing (clusterStatusToString, getStatus) 2 3import Data.AlertmanagerStatus exposing (AlertmanagerStatus) 4import Data.ClusterStatus exposing (Status(..)) 5import Utils.Api exposing (get, send) 6import Utils.Types exposing (ApiData) 7 8 9getStatus : String -> (ApiData AlertmanagerStatus -> msg) -> Cmd msg 10getStatus apiUrl msg = 11 let 12 url = 13 String.join "/" [ apiUrl, "status" ] 14 15 request = 16 get url Data.AlertmanagerStatus.decoder 17 in 18 Cmd.map msg <| send request 19 20 21clusterStatusToString : Status -> String 22clusterStatusToString status = 23 case status of 24 Ready -> 25 "ready" 26 27 Settling -> 28 "settling" 29 30 Disabled -> 31 "disabled" 32