diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/frontend.erl | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/frontend.erl b/src/frontend.erl index 3924fb8..0144041 100644 --- a/src/frontend.erl +++ b/src/frontend.erl @@ -147,13 +147,32 @@ request(post, "catlfish/merge/verifyroot", Input) -> end end; -%% implement setverifiedsize - request(get, "catlfish/merge/verifiedsize", _Query) -> Size = db:verifiedsize(), success({[{result, <<"ok">>}, {size, Size}]}); +request(post, "catlfish/merge/setverifiedsize", Input) -> + case (catch mochijson2:decode(Input)) of + {error, E} -> + html("setverifiedsize: bad input:", E); + {struct, PropList} -> + OldSize = db:verifiedsize(), + Treesize = proplists:get_value(<<"size">>, PropList), + Indexsize = db:indexsize(), + + if + Treesize > Indexsize -> + html("Has too few entries", Indexsize); + OldSize > Treesize -> + success({[{result, <<"ok">>}]}); + true -> + db:set_verifiedsize(Treesize), + success({[{result, <<"ok">>}]}) + end + end; + + request(get, "catlfish/merge/missingentries", _Query) -> Size = db:verifiedsize(), Missing = fetchmissingentries(Size), @@ -192,8 +211,10 @@ check_entries(Entries, Start, End) -> check_entries_noreverse(Entries, Start, End) -> lists:foldl(fun ({Hash, Index}, Acc) -> + lager:info("checking entry ~p", [Index]), case check_entry_noreverse(Hash, Index) of ok -> + lager:info("entry ~p is correct", [Index]), Acc; Error -> [Error | Acc] |