38 lines
1.2 KiB
Elm
38 lines
1.2 KiB
Elm
module MaintenanceFunding.Rest exposing (..)
|
|
|
|
import RemoteData exposing (..)
|
|
import HttpBuilder exposing (..)
|
|
import Json.Decode as D
|
|
import Json.Decode.Pipeline exposing (decode, required)
|
|
import Http
|
|
import HttpBuilder exposing (..)
|
|
import MaintenanceFunding.Types exposing (..)
|
|
|
|
|
|
getForm : Maybe String -> Cmd Msg
|
|
getForm maybeCrypto =
|
|
get ("/api/funding/" ++ (Maybe.withDefault "" maybeCrypto))
|
|
|> withExpect (Http.expectJson subModelDecoder)
|
|
|> send RemoteData.fromResult
|
|
|> Cmd.map Load
|
|
|
|
|
|
cryptoDisplayDecoder : D.Decoder CryptoDisplay
|
|
cryptoDisplayDecoder =
|
|
decode CryptoDisplay
|
|
|> required "cryptoCode" D.string
|
|
|> required "display" D.string
|
|
|
|
|
|
subModelDecoder : D.Decoder SubModel
|
|
subModelDecoder =
|
|
decode SubModel
|
|
|> required "cryptoCode" D.string
|
|
|> required "cryptoDisplays" (D.list cryptoDisplayDecoder)
|
|
|> required "fundingAddress" D.string
|
|
|> required "fundingAddressUrl" D.string
|
|
|> required "confirmedBalance" D.string
|
|
|> required "pending" D.string
|
|
|> required "fiatConfirmedBalance" D.string
|
|
|> required "fiatPending" D.string
|
|
|> required "fiatCode" D.string
|