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
b95cf3d4
Commit
b95cf3d4
authored
Apr 02, 2019
by
lain
Browse files
Merge branch 'get_by_id' into 'develop'
Replace `Repo.get_by` with existing functions See merge request
!1010
parents
bd961a3b
20c619f8
Pipeline
#9873
passed with stages
in 4 minutes and 43 seconds
Changes
8
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/plugs/user_fetcher_plug.ex
View file @
b95cf3d4
...
...
@@ -3,9 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule
Pleroma
.
Plugs
.
UserFetcherPlug
do
alias
Pleroma
.
Repo
alias
Pleroma
.
User
import
Plug
.
Conn
def
init
(
options
)
do
...
...
@@ -14,26 +12,10 @@ def init(options) do
def
call
(
conn
,
_options
)
do
with
%{
auth_credentials:
%{
username:
username
}}
<-
conn
.
assigns
,
{
:ok
,
%
User
{}
=
user
}
<-
user_fetcher
(
username
)
do
conn
|>
assign
(
:auth_user
,
user
)
%
User
{}
=
user
<-
User
.
get_by_nickname_or_email
(
username
)
do
assign
(
conn
,
:auth_user
,
user
)
else
_
->
conn
end
end
defp
user_fetcher
(
username_or_email
)
do
{
:ok
,
cond
do
# First, try logging in as if it was a name
user
=
Repo
.
get_by
(
User
,
%{
nickname:
username_or_email
})
->
user
# If we get nil, we try using it as an email
user
=
Repo
.
get_by
(
User
,
%{
email:
username_or_email
})
->
user
end
}
end
end
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
View file @
b95cf3d4
...
...
@@ -755,7 +755,7 @@ def follow(%{assigns: %{user: follower}} = conn, %{"id" => id}) do
end
def
follow
(%{
assigns:
%{
user:
follower
}}
=
conn
,
%{
"uri"
=>
uri
})
do
with
%
User
{}
=
followed
<-
Repo
.
get_by
(
User
,
nickname
:
uri
),
with
%
User
{}
=
followed
<-
User
.
get_by
_
nickname
(
uri
),
{
:ok
,
follower
,
followed
,
_
}
<-
CommonAPI
.
follow
(
follower
,
followed
)
do
conn
|>
put_view
(
AccountView
)
...
...
lib/pleroma/web/twitter_api/twitter_api.ex
View file @
b95cf3d4
...
...
@@ -227,12 +227,9 @@ def get_user(user \\ nil, params) do
end
%{
"screen_name"
=>
nickname
}
->
case
target
=
Repo
.
get_by
(
User
,
nickname:
nickname
)
do
nil
->
{
:error
,
"No user with such screen_name"
}
_
->
{
:ok
,
target
}
case
User
.
get_by_nickname
(
nickname
)
do
nil
->
{
:error
,
"No user with such screen_name"
}
target
->
{
:ok
,
target
}
end
_
->
...
...
test/web/activity_pub/activity_pub_test.exs
View file @
b95cf3d4
...
...
@@ -638,8 +638,8 @@ test "works with base64 encoded images" do
describe
"fetch the latest Follow"
do
test
"fetches the latest Follow activity"
do
%
Activity
{
data:
%{
"type"
=>
"Follow"
}}
=
activity
=
insert
(
:follow_activity
)
follower
=
Repo
.
get_by
(
User
,
ap_id
:
activity
.
data
[
"actor"
])
followed
=
Repo
.
get_by
(
User
,
ap_id
:
activity
.
data
[
"object"
])
follower
=
User
.
get_by
_
ap_id
(
activity
.
data
[
"actor"
])
followed
=
User
.
get_by
_
ap_id
(
activity
.
data
[
"object"
])
assert
activity
==
Utils
.
fetch_latest_follow
(
follower
,
followed
)
end
...
...
test/web/mastodon_api/status_view_test.exs
View file @
b95cf3d4
...
...
@@ -175,7 +175,7 @@ test "contains mentions" do
status
=
StatusView
.
render
(
"status.json"
,
%{
activity:
activity
})
actor
=
Repo
.
get_by
(
User
,
ap_id
:
activity
.
actor
)
actor
=
User
.
get_by
_
ap_id
(
activity
.
actor
)
assert
status
.
mentions
==
Enum
.
map
([
user
,
actor
],
fn
u
->
AccountView
.
render
(
"mention.json"
,
%{
user:
u
})
end
)
...
...
test/web/salmon/salmon_test.exs
View file @
b95cf3d4
...
...
@@ -99,7 +99,7 @@ test "it pushes an activity to remote accounts it's addressed to" do
}
{
:ok
,
activity
}
=
Repo
.
insert
(%
Activity
{
data:
activity_data
,
recipients:
activity_data
[
"to"
]})
user
=
Repo
.
get_by
(
User
,
ap_id
:
activity
.
data
[
"actor"
])
user
=
User
.
get_by
_
ap_id
(
activity
.
data
[
"actor"
])
{
:ok
,
user
}
=
Pleroma
.
Web
.
WebFinger
.
ensure_keys_present
(
user
)
poster
=
fn
url
,
_data
,
_headers
->
...
...
test/web/twitter_api/twitter_api_controller_test.exs
View file @
b95cf3d4
...
...
@@ -955,7 +955,7 @@ test "with credentials", %{conn: conn, user: current_user} do
|>
post
(
request_path
)
activity
=
Activity
.
get_by_id
(
note_activity
.
id
)
activity_user
=
Repo
.
get_by
(
User
,
ap_id
:
note_activity
.
data
[
"actor"
])
activity_user
=
User
.
get_by
_
ap_id
(
note_activity
.
data
[
"actor"
])
assert
json_response
(
response
,
200
)
==
ActivityView
.
render
(
"activity.json"
,
%{
...
...
@@ -993,7 +993,7 @@ test "with credentials", %{conn: conn, user: current_user} do
|>
post
(
request_path
)
activity
=
Activity
.
get_by_id
(
note_activity
.
id
)
activity_user
=
Repo
.
get_by
(
User
,
ap_id
:
note_activity
.
data
[
"actor"
])
activity_user
=
User
.
get_by
_
ap_id
(
note_activity
.
data
[
"actor"
])
assert
json_response
(
response
,
200
)
==
ActivityView
.
render
(
"activity.json"
,
%{
...
...
@@ -1021,7 +1021,7 @@ test "it creates a new user", %{conn: conn} do
user
=
json_response
(
conn
,
200
)
fetched_user
=
Repo
.
get_by
(
User
,
nickname
:
"lain"
)
fetched_user
=
User
.
get_by
_
nickname
(
"lain"
)
assert
user
==
UserView
.
render
(
"show.json"
,
%{
user:
fetched_user
})
end
...
...
test/web/twitter_api/twitter_api_test.exs
View file @
b95cf3d4
...
...
@@ -275,7 +275,7 @@ test "it registers a new user and returns the user." do
{
:ok
,
user
}
=
TwitterAPI
.
register_user
(
data
)
fetched_user
=
Repo
.
get_by
(
User
,
nickname
:
"lain"
)
fetched_user
=
User
.
get_by
_
nickname
(
"lain"
)
assert
UserView
.
render
(
"show.json"
,
%{
user:
user
})
==
UserView
.
render
(
"show.json"
,
%{
user:
fetched_user
})
...
...
@@ -293,7 +293,7 @@ test "it registers a new user with empty string in bio and returns the user." do
{
:ok
,
user
}
=
TwitterAPI
.
register_user
(
data
)
fetched_user
=
Repo
.
get_by
(
User
,
nickname
:
"lain"
)
fetched_user
=
User
.
get_by
_
nickname
(
"lain"
)
assert
UserView
.
render
(
"show.json"
,
%{
user:
user
})
==
UserView
.
render
(
"show.json"
,
%{
user:
fetched_user
})
...
...
@@ -369,7 +369,7 @@ test "it registers a new user via invite token and returns the user." do
{
:ok
,
user
}
=
TwitterAPI
.
register_user
(
data
)
fetched_user
=
Repo
.
get_by
(
User
,
nickname
:
"vinny"
)
fetched_user
=
User
.
get_by
_
nickname
(
"vinny"
)
token
=
Repo
.
get_by
(
UserInviteToken
,
token:
token
.
token
)
assert
token
.
used
==
true
...
...
@@ -393,7 +393,7 @@ test "it returns an error if invalid token submitted" do
{
:error
,
msg
}
=
TwitterAPI
.
register_user
(
data
)
assert
msg
==
"Invalid token"
refute
Repo
.
get_by
(
User
,
nickname
:
"GrimReaper"
)
refute
User
.
get_by
_
nickname
(
"GrimReaper"
)
end
@moduletag
skip:
"needs 'registrations_open: false' in config"
...
...
@@ -414,7 +414,7 @@ test "it returns an error if expired token submitted" do
{
:error
,
msg
}
=
TwitterAPI
.
register_user
(
data
)
assert
msg
==
"Expired token"
refute
Repo
.
get_by
(
User
,
nickname
:
"GrimReaper"
)
refute
User
.
get_by
_
nickname
(
"GrimReaper"
)
end
test
"it returns the error on registration problems"
do
...
...
@@ -429,7 +429,7 @@ test "it returns the error on registration problems" do
{
:error
,
error_object
}
=
TwitterAPI
.
register_user
(
data
)
assert
is_binary
(
error_object
[
:error
])
refute
Repo
.
get_by
(
User
,
nickname
:
"lain"
)
refute
User
.
get_by
_
nickname
(
"lain"
)
end
test
"it assigns an integer conversation_id"
do
...
...
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