Skip to content
GitLab
Menu
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
f6da12f4
Commit
f6da12f4
authored
Aug 16, 2020
by
Maksim
Browse files
fix search media proxy urls
parent
56470647
Pipeline
#29838
passed with stages
in 16 minutes and 58 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
lib/pleroma/web/admin_api/controllers/media_proxy_cache_controller.ex
View file @
f6da12f4
...
...
@@ -38,18 +38,20 @@ def index(%{assigns: %{user: _}} = conn, params) do
defp
fetch_entries
(
params
)
do
MediaProxy
.
cache_table
()
|>
Cachex
.
export!
(
)
|>
filter_
url
s
(
params
[
:query
])
|>
Cachex
.
stream!
(
Cachex
.
Query
.
create
(
true
,
:key
)
)
|>
filter_
entrie
s
(
params
[
:query
])
end
defp
filter_urls
(
entries
,
query
)
when
is_binary
(
query
)
do
for
{
_
,
url
,
_
,
_
,
_
}
<-
entries
,
String
.
contains?
(
url
,
query
),
do
:
url
end
defp
filter_entries
(
stream
,
query
)
when
is_binary
(
query
)
do
regex
=
~r/#{query}/i
defp
filter_urls
(
entries
,
_
)
do
Enum
.
map
(
entries
,
fn
{
_
,
url
,
_
,
_
,
_
}
->
url
end
)
stream
|>
Enum
.
filter
(
fn
url
->
String
.
match?
(
url
,
regex
)
end
)
|>
Enum
.
to_list
()
end
defp
filter_entries
(
stream
,
_
),
do
:
Enum
.
to_list
(
stream
)
defp
paginate_entries
(
entries
,
page
,
page_size
)
do
offset
=
page_size
*
(
page
-
1
)
Enum
.
slice
(
entries
,
offset
,
page_size
)
...
...
test/web/admin_api/controllers/media_proxy_cache_controller_test.exs
View file @
f6da12f4
...
...
@@ -89,7 +89,7 @@ test "search banned MediaProxy URLs", %{conn: conn} do
response
=
conn
|>
get
(
"/api/pleroma/admin/media_proxy_caches?page_size=2&query=
f
44"
)
|>
get
(
"/api/pleroma/admin/media_proxy_caches?page_size=2&query=
F
44"
)
|>
json_response_and_validate_schema
(
200
)
assert
response
[
"urls"
]
==
[
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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