Skip to content
Snippets Groups Projects
Commit 6935fc3e authored by lain's avatar lain
Browse files

Update user data on fetch if it changed.

parent ffc9d770
Branches
No related tags found
No related merge requests found
......@@ -192,6 +192,11 @@ def find_or_make_user(uri) do
end
end
def insert_or_update_user(data) do
cs = User.remote_user_creation(data)
Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname)
end
def make_user(uri) do
with {:ok, info} <- gather_user_info(uri) do
data = %{
......@@ -204,9 +209,7 @@ def make_user(uri) do
}
with %User{} = user <- User.get_by_ap_id(data.ap_id) do
{:ok, user}
else _e ->
cs = User.remote_user_creation(data)
Repo.insert(cs)
else _e -> insert_or_update_user(data)
end
end
end
......
......@@ -322,4 +322,11 @@ test "it builds a missing status from an html url" do
assert activity.data["object"]["id"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
end
end
test "insert or update a user from given data" do
user = insert(:user, %{nickname: "nick@name.de"})
data = %{ ap_id: user.ap_id <> "xxx", name: user.name, nickname: user.nickname }
assert {:ok, %User{}} = OStatus.insert_or_update_user(data)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment