diff options
author | feld <feld@feld.me> | 2019-09-18 21:11:37 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2019-09-18 21:11:37 +0000 |
commit | 25b43656565b0044d79d7e969d98a0f8283279fc (patch) | |
tree | 955e1ca6e8bdcf668f62608fd081c89f9a9239d0 /lib | |
parent | 220afadc55bfeef28355919ea914d599837f9321 (diff) | |
parent | a18f1e7cd7addf8aee9c56643f4f0531e1c5b5a0 (diff) | |
download | pleroma-25b43656565b0044d79d7e969d98a0f8283279fc.tar.gz |
Merge branch 'admin_api_invite_tokens' into 'develop'
POST for creating invite tokens in admin api
See merge request pleroma/pleroma!1637
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/admin_api/admin_api_controller.ex | 22 | ||||
-rw-r--r-- | lib/pleroma/web/router.ex | 2 |
2 files changed, 17 insertions, 7 deletions
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex index 2a1cc59e5..8a8091daa 100644 --- a/lib/pleroma/web/admin_api/admin_api_controller.ex +++ b/lib/pleroma/web/admin_api/admin_api_controller.ex @@ -400,13 +400,23 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do end end - @doc "Get a account registeration invite token (base64 string)" - def get_invite_token(conn, params) do - options = params["invite"] || %{} - {:ok, invite} = UserInviteToken.create_invite(options) + @doc "Create an account registration invite token" + def create_invite_token(conn, params) do + opts = %{} - conn - |> json(invite.token) + opts = + if params["max_use"], + do: Map.put(opts, :max_use, params["max_use"]), + else: opts + + opts = + if params["expires_at"], + do: Map.put(opts, :expires_at, params["expires_at"]), + else: opts + + {:ok, invite} = UserInviteToken.create_invite(opts) + + json(conn, AccountView.render("invite.json", %{invite: invite})) end @doc "Get list of created invites" diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 401133bf3..b9b85fd67 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -180,7 +180,7 @@ defmodule Pleroma.Web.Router do post("/relay", AdminAPIController, :relay_follow) delete("/relay", AdminAPIController, :relay_unfollow) - get("/users/invite_token", AdminAPIController, :get_invite_token) + post("/users/invite_token", AdminAPIController, :create_invite_token) get("/users/invites", AdminAPIController, :invites) post("/users/revoke_invite", AdminAPIController, :revoke_invite) post("/users/email_invite", AdminAPIController, :email_invite) |