summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-12-13 19:09:49 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-12-13 19:09:49 +0100
commit3ffb430c28ba3c04835d2762a17aac39a1e64ded (patch)
treee0200629f57ad717cb247a2cae71d266217848a7 /src/battle/query
parentda06d32b135b3bc29cedd15ed8630a0eef0c2ab3 (diff)
...
Diffstat (limited to 'src/battle/query')
-rw-r--r--src/battle/query/btl_join.erl31
1 files changed, 28 insertions, 3 deletions
diff --git a/src/battle/query/btl_join.erl b/src/battle/query/btl_join.erl
index 8ecb609..7b8a124 100644
--- a/src/battle/query/btl_join.erl
+++ b/src/battle/query/btl_join.erl
@@ -63,7 +63,7 @@ parse_input (Req) ->
end,
Roster = maps:get(<<"r">>, JSONReqMap),
- MapID = maps:get(<<"map_id">>, JSONReqMap),
+ MapID = maps:get(<<"map_id">>, JSONReqMap),
#input
{
@@ -87,6 +87,33 @@ authenticate_user (Input) ->
_ -> error
end.
+-spec handle_new_attack (input()) -> query_state().
+handle_new_attack (Input) ->
+ PlayerID = <<"">>,
+ PlayerDBUser = shr_db_user:player(PlayerID),
+ PartySize = 8,
+ DBCond =
+ recl:ge
+ (
+ recl:on_field
+ (
+ btl_builder:get_free_slots_field(),
+ [recl:current_value()]
+ ),
+ recl:constant(PartySize)
+ ),
+
+ TempLockQuery =
+ shr_db_query:first_match
+ (
+ db_name,
+ PlayerDBUser,
+ DBCond,
+ shr_db_query:temporary_lock(PlayerDBUser)
+ ),
+
+ %% Need: find[lone]; update; fetch
+
-spec fetch_data (input()) -> query_state().
fetch_data (Input) ->
PlayerID = Input#input.player_id,
@@ -110,9 +137,7 @@ handle (Req) ->
Input = parse_input(Req),
case authenticate_user(Input) of
ok ->
- shr_security:lock_queries(Input#input.player_id),
QueryState = fetch_data(Input),
- shr_security:unlock_queries(Input#input.player_id),
generate_reply(QueryState, Input);
error -> jiffy:encode([shr_disconnected:generate()])