summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2017-11-16 17:06:17 +0100
committernsensfel <SpamShield0@noot-noot.org>2017-11-16 17:06:17 +0100
commitefaf3ee3f4b2478079c7b9dde8f9e879956a460f (patch)
tree809dba1496ddd1c3058df0722a9fd962fd11f34b /www/handler/battlemap/load_state.yaws
parent3cc9f85a8b84f6cb69b828a6510ece7f716a6b28 (diff)
Starting changes in the structure.
Diffstat (limited to 'www/handler/battlemap/load_state.yaws')
-rw-r--r--www/handler/battlemap/load_state.yaws40
1 files changed, 39 insertions, 1 deletions
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>