summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www/handler')
-rw-r--r--www/handler/battlemap/character_turn.yaws32
-rw-r--r--www/handler/battlemap/load_state.yaws40
2 files changed, 70 insertions, 2 deletions
diff --git a/www/handler/battlemap/character_turn.yaws b/www/handler/battlemap/character_turn.yaws
index 8b0a229..c42e26b 100644
--- a/www/handler/battlemap/character_turn.yaws
+++ b/www/handler/battlemap/character_turn.yaws
@@ -1,8 +1,38 @@
<erl>
+handle (Req) ->
+ io:format("~nReceived~p...", [Req]),
+ JSON_Req_Map = jiffy:decode(Req, [return_maps]),
+ UserToken = maps:get(<<"user_token">>, JSON_Req_Map),
+ io:format("~nCharacter Turn for ~p...", [UserToken]),
+%% ok = users_manager:ping(UserToken),
+ jiffy:encode(
+ {
+ [
+ {<<"types">>, [<<"STATUS">>]},
+ {
+ <<"data">>,
+ [
+ jiffy:encode
+ (
+ {
+ [
+ {
+ <<"status">>,
+ <<"OK">>
+ }
+ ]
+ }
+ )
+ ]
+ }
+ ]
+ }
+ ).
+
out(A) ->
{
content,
"application/json; charset=UTF-8",
- battlemap_character_turn:handle(A#arg.clidata)
+ handle(A#arg.clidata)
}.
</erl>
diff --git a/www/handler/battlemap/load_state.yaws b/www/handler/battlemap/load_state.yaws
index c778b66..fb7cda6 100644
--- a/www/handler/battlemap/load_state.yaws
+++ b/www/handler/battlemap/load_state.yaws
@@ -1,8 +1,46 @@
<erl>
+-record(input, {battlemap_id}).
+
+parse_input (Req) ->
+ JSONReqMap = jiffy:decode(Req, [return_maps]),
+ #input {
+ battlemap_id = maps:get(<<"battlemap_id">>, JSONReqMap)
+ }.
+
+fetch_battlemap (Input) ->
+ {Battlemap, CharList} =
+ timed_cache:fetch(
+ battlemap_db,
+ Input#input.battlemap_id
+ ),
+
+handle (Req) ->
+ Input = parse_input(Req),
+ io:format("~nLoading Battlemap ~p...~n", [Input#input.battlemap_id]),
+%% ok = users_manager:ping(UserToken),
+ jiffy:encode(
+ [
+ [
+ <<"set_map">>,
+ battlemap:encode_in_json(Battlemap)
+ ]
+ |
+ lists:map(
+ fun (Char) ->
+ [
+ <<"add_char">>,
+ character:encode_in_json(Char)
+ ]
+ end,
+ CharList
+ )
+ ]
+ ).
+
out(A) ->
{
content,
"application/json; charset=UTF-8",
- battlemap_load_state:handle(A#arg.clidata)
+ handle(A#arg.clidata)
}.
</erl>