aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/common_api/utils.ex
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-05-20 10:57:19 +0000
committerlambda <pleromagit@rogerbraun.net>2018-05-20 10:57:19 +0000
commit8b0c222b436d9473f868087fb4eaf78a0b1e7052 (patch)
treec10b650004dc41776e0cee1ba0c28cdfc0e82939 /lib/pleroma/web/common_api/utils.ex
parent40af4525940e8bdf09520c2320ae93d6c945bee2 (diff)
parentd1366f8d46959229fdae398fe7920f6894d9d02a (diff)
downloadpleroma-8b0c222b436d9473f868087fb4eaf78a0b1e7052.tar.gz
Merge branch 'feature/account-deletion' into 'develop'
Feature/account deletion Closes #115 See merge request pleroma/pleroma!157
Diffstat (limited to 'lib/pleroma/web/common_api/utils.ex')
-rw-r--r--lib/pleroma/web/common_api/utils.ex11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 57f8be894..e774743a2 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -1,7 +1,9 @@
defmodule Pleroma.Web.CommonAPI.Utils do
alias Pleroma.{Repo, Object, Formatter, Activity}
alias Pleroma.Web.ActivityPub.Utils
+ alias Pleroma.User
alias Calendar.Strftime
+ alias Comeonin.Pbkdf2
# This is a hack for twidere.
def get_by_id_or_ap_id(id) do
@@ -184,4 +186,13 @@ defmodule Pleroma.Web.CommonAPI.Utils do
String.slice(name, 0..30) <> "…"
end
end
+
+ def confirm_current_password(user, params) do
+ with %User{local: true} = db_user <- Repo.get(User, user.id),
+ true <- Pbkdf2.checkpw(params["password"], db_user.password_hash) do
+ {:ok, db_user}
+ else
+ _ -> {:error, "Invalid password."}
+ end
+ end
end