aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/api_spec/operations/chat_operation.ex3
-rw-r--r--lib/pleroma/web/pleroma_api/controllers/chat_controller.ex7
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/pleroma/web/api_spec/operations/chat_operation.ex b/lib/pleroma/web/api_spec/operations/chat_operation.ex
index 45fbad311..cf299bfc2 100644
--- a/lib/pleroma/web/api_spec/operations/chat_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/chat_operation.ex
@@ -340,10 +340,11 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
title: "MarkAsReadRequest",
description: "POST body for marking a number of chat messages as read",
type: :object,
+ required: [:last_read_id],
properties: %{
last_read_id: %Schema{
type: :string,
- description: "The content of your message. Optional."
+ description: "The content of your message."
}
},
example: %{
diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
index 002b75082..b9949236c 100644
--- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
+++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
@@ -109,10 +109,13 @@ defmodule Pleroma.Web.PleromaAPI.ChatController do
end
end
- def mark_as_read(%{assigns: %{user: %{id: user_id}}} = conn, %{id: id}) do
+ def mark_as_read(
+ %{body_params: %{last_read_id: last_read_id}, assigns: %{user: %{id: user_id}}} = conn,
+ %{id: id}
+ ) do
with %Chat{} = chat <- Repo.get_by(Chat, id: id, user_id: user_id),
{_n, _} <-
- MessageReference.set_all_seen_for_chat(chat, conn.body_params[:last_read_id]) do
+ MessageReference.set_all_seen_for_chat(chat, last_read_id) do
conn
|> put_view(ChatView)
|> render("show.json", chat: chat)