1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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",
handle(A#arg.clidata)
}.
</erl>
|