Add function to deactivate users.
authorLain Iwakura <lain@soykaf.club>
Thu, 7 Dec 2017 16:47:23 +0000 (17:47 +0100)
committerLain Iwakura <lain@soykaf.club>
Thu, 7 Dec 2017 16:47:23 +0000 (17:47 +0100)
lib/pleroma/user.ex
test/user_test.exs

index afc62f2657dec4a9dc3b6086675817283c694c35..779a89a12771cc1649a280166c865b756340ccc5 100644 (file)
@@ -334,4 +334,9 @@ defmodule Pleroma.User do
       where: u.local == true
   end
 
+  def deactivate (%User{} = user) do
+    new_info = Map.put(user.info, "deactivated", true)
+    cs = User.info_changeset(user, %{info: new_info})
+    Repo.update(cs)
+  end
 end
index 31c5962e2d0f4023e2922f0d58c34d302d523a44..6daf1ecb7cd60bce83102417a714e3d6ca08a5e9 100644 (file)
@@ -325,5 +325,11 @@ defmodule Pleroma.UserTest do
     assert user in recipients
     assert addressed in recipients
   end
-end
 
+  test ".deactivate deactivates a user" do
+    user = insert(:user)
+    assert false == !!user.info["deactivated"]
+    {:ok, user} = User.deactivate(user)
+    assert true == user.info["deactivated"]
+  end
+end