feat: user API голосования за отзывы (like/dislike). Refs EventHub/EventHubBack#47
This commit is contained in:
@@ -92,6 +92,7 @@ review_schema() ->
|
||||
reason => #{type => string, nullable => true},
|
||||
likes => #{type => integer},
|
||||
dislikes => #{type => integer},
|
||||
my_vote => #{type => string, enum => [<<"like">>, <<"dislike">>, null], nullable => true},
|
||||
created_at => #{type => string, format => <<"date-time">>},
|
||||
updated_at => #{type => string, format => <<"date-time">>}
|
||||
}
|
||||
@@ -128,7 +129,8 @@ get_review(Req) ->
|
||||
ReviewId = cowboy_req:binding(id, Req1),
|
||||
case logic_review:get_review(UserId, ReviewId) of
|
||||
{ok, Review} ->
|
||||
handler_utils:send_json(Req1, 200, handler_utils:review_to_json(Review));
|
||||
MyVote = logic_review:my_vote(UserId, ReviewId),
|
||||
handler_utils:send_json(Req1, 200, handler_utils:review_to_json(Review, MyVote));
|
||||
{error, access_denied} ->
|
||||
handler_utils:send_error(Req1, 403, <<"Access denied">>);
|
||||
{error, not_found} ->
|
||||
@@ -154,7 +156,8 @@ update_review(Req) ->
|
||||
{ok, _} ->
|
||||
case core_review:get_by_id(ReviewId) of
|
||||
{ok, Updated} ->
|
||||
handler_utils:send_json(Req2, 200, handler_utils:review_to_json(Updated));
|
||||
MyVote = logic_review:my_vote(UserId, ReviewId),
|
||||
handler_utils:send_json(Req2, 200, handler_utils:review_to_json(Updated, MyVote));
|
||||
_ ->
|
||||
handler_utils:send_error(Req2, 500, <<"Failed to retrieve updated review">>)
|
||||
end;
|
||||
|
||||
Reference in New Issue
Block a user