Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
ca95cbe0
Verified
Commit
ca95cbe0
authored
Nov 04, 2020
by
minibikini
Browse files
Add `with_muted` param to ChatController.index/2
parent
be52819a
Pipeline
#32548
passed with stages
in 17 minutes and 12 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
docs/API/chats.md
View file @
ca95cbe0
...
...
@@ -116,6 +116,10 @@ The modified chat message
This will return a list of chats that you have been involved in, sorted by their
last update (so new chats will be at the top).
Parameters:
-
with_muted: Include chats from muted users (boolean).
Returned data:
```
json
...
...
lib/pleroma/web/api_spec/operations/chat_operation.ex
View file @
ca95cbe0
...
...
@@ -6,6 +6,7 @@ defmodule Pleroma.Web.ApiSpec.ChatOperation do
alias
OpenApiSpex
.
Operation
alias
OpenApiSpex
.
Schema
alias
Pleroma
.
Web
.
ApiSpec
.
Schemas
.
ApiError
alias
Pleroma
.
Web
.
ApiSpec
.
Schemas
.
BooleanLike
alias
Pleroma
.
Web
.
ApiSpec
.
Schemas
.
Chat
alias
Pleroma
.
Web
.
ApiSpec
.
Schemas
.
ChatMessage
...
...
@@ -132,7 +133,10 @@ def index_operation do
tags:
[
"chat"
],
summary:
"Get a list of chats that you participated in"
,
operationId:
"ChatController.index"
,
parameters:
pagination_params
(),
parameters:
[
Operation
.
parameter
(
:with_muted
,
:query
,
BooleanLike
,
"Include chats from muted users"
)
|
pagination_params
()
],
responses:
%{
200
=>
Operation
.
response
(
"The chats of the user"
,
"application/json"
,
chats_response
())
},
...
...
lib/pleroma/web/api_spec/operations/timeline_operation.ex
View file @
ca95cbe0
...
...
@@ -159,7 +159,7 @@ defp local_param do
end
defp
with_muted_param
do
Operation
.
parameter
(
:with_muted
,
:query
,
BooleanLike
,
"Includeactivities by muted users"
)
Operation
.
parameter
(
:with_muted
,
:query
,
BooleanLike
,
"Include
activities by muted users"
)
end
defp
exclude_visibilities_param
do
...
...
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
View file @
ca95cbe0
...
...
@@ -138,11 +138,10 @@ def messages(%{assigns: %{user: user}} = conn, %{id: id} = params) do
end
end
def
index
(%{
assigns:
%{
user:
%{
id:
user_id
}
=
user
}}
=
conn
,
_
params
)
do
def
index
(%{
assigns:
%{
user:
%{
id:
user_id
}
=
user
}}
=
conn
,
params
)
do
exclude_users
=
user
|>
User
.
blocked_users_ap_ids
()
|>
Enum
.
concat
(
User
.
muted_users_ap_ids
(
user
))
User
.
blocked_users_ap_ids
(
user
)
++
if
params
[
:with_muted
],
do
:
[],
else
:
User
.
muted_users_ap_ids
(
user
)
chats
=
user_id
...
...
test/pleroma/web/pleroma_api/controllers/chat_controller_test.exs
View file @
ca95cbe0
...
...
@@ -363,6 +363,13 @@ test "it does not return chats with users you muted", %{conn: conn, user: user}
|>
json_response_and_validate_schema
(
200
)
assert
length
(
result
)
==
0
result
=
conn
|>
get
(
"/api/v1/pleroma/chats?with_muted=true"
)
|>
json_response_and_validate_schema
(
200
)
assert
length
(
result
)
==
1
end
test
"it returns all chats"
,
%{
conn:
conn
,
user:
user
}
do
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment