feat: user API голосования за отзывы (like/dislike). Refs EventHub/EventHubBack#47
CI / test (push) Failing after 45m52s
CI / deploy-ift (push) Has been skipped
CI / e2e-ift (push) Has been skipped
CI / deploy-stage (push) Has been skipped
CI / e2e-stage (push) Has been skipped

This commit is contained in:
2026-07-19 21:31:29 +03:00
parent 0c8a87df75
commit 5b638de450
17 changed files with 3539 additions and 2762 deletions
+12 -1
View File
@@ -21,6 +21,7 @@
event_to_json/1,
user_to_json/1,
review_to_json/1,
review_to_json/2,
report_to_json/1,
ticket_to_json/1,
calendar_to_json/1,
@@ -359,9 +360,14 @@ user_to_json(User) ->
updated_at => datetime_to_iso8601(User#user.updated_at)
}.
%% @doc Преобразует #review{} в JSON-карту.
%% @doc Преобразует #review{} в JSON-карту (без my_vote).
-spec review_to_json(#review{}) -> map().
review_to_json(Review) ->
review_to_json(Review, null).
%% @doc Преобразует #review{} в JSON с голосом текущего пользователя.
-spec review_to_json(#review{}, like | dislike | null) -> map().
review_to_json(Review, MyVote) ->
#{
id => Review#review.id,
user_id => Review#review.user_id,
@@ -373,10 +379,15 @@ review_to_json(Review) ->
reason => Review#review.reason,
likes => Review#review.likes,
dislikes => Review#review.dislikes,
my_vote => my_vote_json(MyVote),
created_at => datetime_to_iso8601(Review#review.created_at),
updated_at => datetime_to_iso8601(Review#review.updated_at)
}.
my_vote_json(like) -> <<"like">>;
my_vote_json(dislike) -> <<"dislike">>;
my_vote_json(null) -> null.
%% @doc Преобразует #report{} в JSON-карту.
-spec report_to_json(#report{}) -> map().
report_to_json(Report) ->