impls claims

This commit is contained in:
2019-11-07 16:09:13 +01:00
parent 141789bd25
commit c98b930647
2 changed files with 33 additions and 28 deletions

View File

@@ -22,8 +22,8 @@ type Update
= ItemRemoved Item
| ItemAdded Item
| WealthUpdated Wealth
| ClaimAdded ()
| ClaimRemoved ()
| ClaimAdded Claim
| ClaimRemoved Claim
type Msg
@@ -90,6 +90,22 @@ type alias Claim =
}
claimDecoder =
D.map3 Claim
(D.field "id" int)
(D.field "player_id" int)
(D.field "loot_id" int)
fetchClaims : Int -> Cmd Msg
fetchClaims playerId =
Http.get
{ url = "http://localhost:8088/api/claims"
, expect =
valueDecoder (D.list claimDecoder)
|> Http.expectJson (GotClaims playerId)
}
-- PLAYERS
--
@@ -168,22 +184,6 @@ fetchLoot dest =
-- CLAIMS
claimDecoder =
D.map3 Claim
(D.field "id" int)
(D.field "player_id" int)
(D.field "loot_id" int)
fetchClaims : Int -> Cmd Msg
fetchClaims playerId =
Http.get
{ url = "http://localhost:8088/api/claims"
, expect =
valueDecoder (D.list claimDecoder)
|> Http.expectJson (GotClaims playerId)
}
-- API Response
@@ -208,8 +208,8 @@ updatesDecoder =
[ field "ItemRemoved" (itemDecoder |> D.andThen (\i -> succeed <| ItemRemoved i))
, field "ItemAdded" (itemDecoder |> D.andThen (\i -> succeed <| ItemAdded i))
, field "Wealth" (wealthDecoder |> D.andThen (\i -> succeed <| WealthUpdated i))
, field "ClaimRemoved" (succeed () |> D.andThen (\i -> succeed <| ClaimRemoved i))
, field "ClaimAdded" (succeed () |> D.andThen (\i -> succeed <| ClaimAdded i))
, field "ClaimRemoved" (claimDecoder |> D.andThen (\i -> succeed <| ClaimRemoved i))
, field "ClaimAdded" (claimDecoder |> D.andThen (\i -> succeed <| ClaimAdded i))
]
@@ -247,18 +247,16 @@ buildPayload mode items =
E.object
[ ( "items", items |> E.list (\i -> E.list identity [ E.int i.id, E.null ]) )
, ( "global_mod", E.null )
, ( "players", E.null )
]
-- API expects the list of claimed loot ids
Modes.Grab ->
E.object
[ ( "items", items |> E.list (\i -> E.int i.id) )
, ( "global_mod", E.null )
]
items |> E.list (\i -> E.int i.id)
Modes.Add ->
E.object
[ ( "items", items |> E.list (\i -> E.int i.id) )
, ( "global_mod", E.null )
]