Merge branch 'develop' into feature/return-link-for-password-reset
authorMaxim Filippov <colixer@gmail.com>
Tue, 24 Sep 2019 10:00:48 +0000 (13:00 +0300)
committerMaxim Filippov <colixer@gmail.com>
Tue, 24 Sep 2019 10:00:48 +0000 (13:00 +0300)
1  2 
CHANGELOG.md
docs/api/admin_api.md
lib/pleroma/web/admin_api/admin_api_controller.ex
test/web/admin_api/admin_api_controller_test.exs

diff --cc CHANGELOG.md
index e816e1394e5d3dd0617e4fa5f18ea5a2ee614134,649fbc0be038a75786f84556a31ab87b3f7c248d..58bb7abc2e930961fd15c8493cb71c2e9096f341
@@@ -12,7 -14,8 +14,9 @@@ The format is based on [Keep a Changelo
  - Introduced [quantum](https://github.com/quantum-elixir/quantum-core) job scheduler
  - Admin API: Return `total` when querying for reports
  - Mastodon API: Return `pleroma.direct_conversation_id` when creating a direct message (`POST /api/v1/statuses`)
 +- Admin API: Return link alongside with token on password reset
+ ### Fixed
+ - Mastodon API: Fix private and direct statuses not being filtered out from the public timeline for an authenticated user (`GET /api/v1/timelines/public`)
  
  ## [1.1.0] - 2019-??-??
  ### Security
index bc45871a3c107903df0ce75de2882123facb154b,9583883d392af8afe1328b3c992f0df6c9c302d5..d4e08f221d4fb1798921c40ad19306e737b9839c
@@@ -308,16 -308,16 +308,24 @@@ Note: Available `:permission_group` is 
  
  - Methods: `GET`
  - Params: none
 -- Response: password reset token (base64 string)
 +- Response:
 +
 +```json
 +{
 +  "token": "U13DX6muOvpRsj35_ij9wLxUbkU-eFvfKttxs6gIajo=", // password reset token (base64 string)
 +  "link": "https://pleroma.social/api/pleroma/password_reset/U13DX6muOvpRsj35_ij9wLxUbkU-eFvfKttxs6gIajo%3D"
 +}
 +```
 +
  
+ ## `/api/pleroma/admin/users/:nickname/force_password_reset`
+ ### Force passord reset for a user with a given nickname
+ - Methods: `PATCH`
+ - Params: none
+ - Response: none (code `204`)
  ## `/api/pleroma/admin/reports`
  ### Get a list of reports
  - Method `GET`
index 460188390eb87835d8ff9a11f643760cdc56ea07,0d1db8fa0f77a43b6789f8c36d1c8fcbca1cbc0c..6b6d124a529eb87d033609b8d35893c1c388b7d5
@@@ -446,12 -450,18 +452,21 @@@ defmodule Pleroma.Web.AdminAPI.AdminAPI
      {:ok, token} = Pleroma.PasswordResetToken.create_token(user)
  
      conn
 -    |> json(token.token)
 +    |> json(%{
 +      token: token.token,
 +      link: Router.Helpers.reset_password_url(Endpoint, :reset, token.token)
 +    })
    end
  
+   @doc "Force password reset for a given user"
+   def force_password_reset(conn, %{"nickname" => nickname}) do
+     (%User{local: true} = user) = User.get_cached_by_nickname(nickname)
+     User.force_password_reset_async(user)
+     json_response(conn, :no_content, "")
+   end
    def list_reports(conn, params) do
      params =
        params