From de81352a53bc78b3c84143d77615662717b9d157 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Tue, 29 Sep 2015 10:30:28 +0200 Subject: Make it possible to send several entries at once with merge/sendentry --- src/frontend.erl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/frontend.erl') diff --git a/src/frontend.erl b/src/frontend.erl index 3dd178f..3b7c15b 100644 --- a/src/frontend.erl +++ b/src/frontend.erl @@ -15,7 +15,7 @@ request(post, "plop/v1/frontend/sendentry", Input) -> LogEntry = base64:decode(proplists:get_value(<<"entry">>, PropList)), TreeLeafHash = base64:decode(proplists:get_value(<<"treeleafhash">>, PropList)), - ok = db:add(TreeLeafHash, LogEntry), + ok = db:add_entry_sync(TreeLeafHash, LogEntry), success({[{result, <<"ok">>}]}) end; @@ -83,11 +83,19 @@ request(post, "plop/v1/merge/sendentry", Input) -> case (catch mochijson2:decode(Input)) of {error, E} -> html("sendentry: bad input:", E); + Entries when is_list(Entries) -> + lists:map(fun ({struct, PropList}) -> + LogEntry = base64:decode(proplists:get_value(<<"entry">>, PropList)), + TreeLeafHash = base64:decode(proplists:get_value(<<"treeleafhash">>, PropList)), + ok = db:add_entry_nosync(TreeLeafHash, LogEntry) + end, Entries), + ok = db:sync_entry_db(), + success({[{result, <<"ok">>}]}); {struct, PropList} -> LogEntry = base64:decode(proplists:get_value(<<"entry">>, PropList)), TreeLeafHash = base64:decode(proplists:get_value(<<"treeleafhash">>, PropList)), - ok = db:add(TreeLeafHash, LogEntry), + ok = db:add_entry_sync(TreeLeafHash, LogEntry), success({[{result, <<"ok">>}]}) end; -- cgit v1.1