Admin API: Return link alongside with token on password reset
authorMaxim Filippov <colixer@gmail.com>
Tue, 17 Sep 2019 20:09:08 +0000 (23:09 +0300)
committerMaxim Filippov <colixer@gmail.com>
Tue, 17 Sep 2019 20:09:08 +0000 (23:09 +0300)
CHANGELOG.md
lib/pleroma/web/admin_api/admin_api_controller.ex

index 4eb72c002cb128fb6539f43d47e7b36cc832cdfe..0f4a171c2572f6cd8f7f522a40fc1a18cca2b1f3 100644 (file)
@@ -32,6 +32,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 – Pagination: (optional) return `total` alongside with `items` when paginating
 - Replaced [pleroma_job_queue](https://git.pleroma.social/pleroma/pleroma_job_queue) and `Pleroma.Web.Federator.RetryQueue` with [Oban](https://github.com/sorentwo/oban) (see [`docs/config.md`](docs/config.md) on migrating customized worker / retry settings)
 - Introduced [quantum](https://github.com/quantum-elixir/quantum-core) job scheduler
+- Admin API: Return link alongside with token on password reset
 
 ### Fixed
 - Following from Osada
index 544b9d7d8b530018120c3f1a9f15af36a223e43a..03a73053b91d804645907a30c160bbc4394cb299 100644 (file)
@@ -432,9 +432,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
   def get_password_reset(conn, %{"nickname" => nickname}) do
     (%User{local: true} = user) = User.get_cached_by_nickname(nickname)
     {:ok, token} = Pleroma.PasswordResetToken.create_token(user)
+    host = Pleroma.Config.get([Pleroma.Web.Endpoint, :url, :host])
+    protocol = Pleroma.Config.get([Pleroma.Web.Endpoint, :protocol])
 
     conn
-    |> json(token.token)
+    |> json(%{
+      token: token.token,
+      link: "#{protocol}://#{host}/api/pleroma/password_reset/#{token}"
+    })
   end
 
   def list_reports(conn, params) do