| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/Comm')
| -rw-r--r-- | src/Comm/GetBattles.elm | 14 | ||||
| -rw-r--r-- | src/Comm/Okay.elm | 6 | ||||
| -rw-r--r-- | src/Comm/Send.elm | 11 | ||||
| -rw-r--r-- | src/Comm/SetBattles.elm | 51 | ||||
| -rw-r--r-- | src/Comm/SetPlayer.elm | 26 | 
5 files changed, 68 insertions, 40 deletions
| diff --git a/src/Comm/GetBattles.elm b/src/Comm/GetBattles.elm index 59b8d1d..0956972 100644 --- a/src/Comm/GetBattles.elm +++ b/src/Comm/GetBattles.elm @@ -5,8 +5,10 @@ import Json.Encode  -- Extension -------------------------------------------------------------------  import Comm.Send +  import Struct.Event  import Struct.Model +import Struct.Player  --------------------------------------------------------------------------------  -- TYPES ------------------------------------------------------------------------ @@ -31,11 +33,13 @@ try_encoding player_id model =  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- -try : Struct.Model.Type -> String -> (Maybe (Cmd Struct.Event.Type)) -try model player_id = +try : Struct.Model.Type -> Struct.Player.Type -> (Maybe (Cmd Struct.Event.Type)) +try model player =     (Comm.Send.try_sending        model -      -- FIXME: this is a param now... -      Constants.IO.get_battles_handler -      (try_encoding player_id) +      ( +         (Struct.Player.get_query_url player) +         ++ "/handler/player/plr_get_battles" +      ) +      (try_encoding (Struct.Player.get_id player))     ) diff --git a/src/Comm/Okay.elm b/src/Comm/Okay.elm index ca7a2eb..9281558 100644 --- a/src/Comm/Okay.elm +++ b/src/Comm/Okay.elm @@ -1,4 +1,4 @@ -module Comm.Okay exposing (decode) +module Comm.Okay exposing (decoder)  -- Elm -------------------------------------------------------------------------  import Json.Decode @@ -17,5 +17,5 @@ import Struct.ServerReply  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- -decode : (Json.Decode.Decoder Struct.ServerReply.Type) -decode = (Json.Decode.succeed Struct.ServerReply.Okay) +decoder : (Json.Decode.Decoder Struct.ServerReply.Type) +decoder = (Json.Decode.succeed Struct.ServerReply.Okay) diff --git a/src/Comm/Send.elm b/src/Comm/Send.elm index dd9dc28..3fc30ae 100644 --- a/src/Comm/Send.elm +++ b/src/Comm/Send.elm @@ -24,8 +24,8 @@ import Struct.Model  internal_decoder : String -> (Json.Decode.Decoder Struct.ServerReply.Type)  internal_decoder reply_type =     case reply_type of -      "okay" -> (Comm.Okay.decode) -      "set_battles" -> (Comm.SetBattles.decode) +      "okay" -> (Comm.Okay.decoder) +      "set_battles" -> (Comm.SetBattles.decoder)        other ->           (Json.Decode.fail              ( @@ -35,15 +35,14 @@ internal_decoder reply_type =              )           ) -decode : (Json.Decode.Decoder Struct.ServerReply.Type) -decode = +decoder : (Json.Decode.Decoder Struct.ServerReply.Type) +decoder =     (Json.Decode.field "msg" Json.Decode.string)     |> (Json.Decode.andThen (internal_decoder))  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- --- TODO: turn this into a multi-server version.  try_sending : (        Struct.Model.Type ->        String -> @@ -59,7 +58,7 @@ try_sending model recipient try_encoding_fun =                 (Http.post                    recipient                    (Http.jsonBody serial) -                  (Json.Decode.list (decode)) +                  (Json.Decode.list (decoder))                 )              )           ) diff --git a/src/Comm/SetBattles.elm b/src/Comm/SetBattles.elm new file mode 100644 index 0000000..0add112 --- /dev/null +++ b/src/Comm/SetBattles.elm @@ -0,0 +1,51 @@ +module Comm.SetBattles exposing (decoder) + +-- Elm ------------------------------------------------------------------------- +import Json.Decode + +-- Extension ------------------------------------------------------------------- +import Struct.BattleSummary +import Struct.Player +import Struct.ServerReply + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Battles = +   { +      campaigns : (List Struct.BattleSummary.Type), +      invasions : (List Struct.BattleSummary.Type), +      events : (List Struct.BattleSummary.Type) +   } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +internal_decoder : (Json.Decode.Decoder Battles) +internal_decoder = +   (Json.Decode.map3 +      Battles +      (Json.Decode.field +         "cmps" +         (Json.Decode.list (Struct.BattleSummary.decoder)) +      ) +      (Json.Decode.field +         "invs" +         (Json.Decode.list (Struct.BattleSummary.decoder)) +      ) +      (Json.Decode.field +         "evts" +         (Json.Decode.list (Struct.BattleSummary.decoder)) +      ) +   ) + +to_server_reply : Battles -> Struct.ServerReply.Type +to_server_reply t = +   (Struct.ServerReply.SetBattles (t.campaigns, t.invasions, t.events)) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +decoder : (Json.Decode.Decoder Struct.ServerReply.Type) +decoder = +   (Json.Decode.map (to_server_reply) (internal_decoder)) diff --git a/src/Comm/SetPlayer.elm b/src/Comm/SetPlayer.elm deleted file mode 100644 index a595777..0000000 --- a/src/Comm/SetPlayer.elm +++ /dev/null @@ -1,26 +0,0 @@ -module Comm.SetPlayer exposing (decode) - --- Elm ------------------------------------------------------------------------- -import Json.Decode - --- Map ------------------------------------------------------------------------- -import Struct.Player -import Struct.ServerReply - --------------------------------------------------------------------------------- --- TYPES ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -internal_decoder : Struct.Player.Type -> Struct.ServerReply.Type -internal_decoder player = -   (Struct.ServerReply.SetPlayer player) - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -decode : (Json.Decode.Decoder Struct.ServerReply.Type) -decode = -   (Json.Decode.map (internal_decoder) (Struct.Player.decoder)) | 


