diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-04-20 10:13:56 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-04-20 10:15:40 -0500 |
commit | bedc558809832ce6ef6063fe91656a0fff0e222c (patch) | |
tree | f844a11ae25f1866bffb79d9eaf0d66aa2babcd6 /lib/mix | |
parent | b54c8813d632cb44c7deb207e91bd32f01f33794 (diff) | |
parent | 28165dad3ac02a6d3ba4b0cda51992a1831515dd (diff) | |
download | pleroma-bedc558809832ce6ef6063fe91656a0fff0e222c.tar.gz |
Merge remote-tracking branch 'upstream/develop' into accept-deletes
Diffstat (limited to 'lib/mix')
-rw-r--r-- | lib/mix/tasks/pleroma/app.ex | 49 | ||||
-rw-r--r-- | lib/mix/tasks/pleroma/benchmark.ex | 3 |
2 files changed, 51 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/app.ex b/lib/mix/tasks/pleroma/app.ex new file mode 100644 index 000000000..463e2449f --- /dev/null +++ b/lib/mix/tasks/pleroma/app.ex @@ -0,0 +1,49 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Mix.Tasks.Pleroma.App do + @moduledoc File.read!("docs/administration/CLI_tasks/oauth_app.md") + use Mix.Task + + import Mix.Pleroma + + @shortdoc "Creates trusted OAuth App" + + def run(["create" | options]) do + start_pleroma() + + {opts, _} = + OptionParser.parse!(options, + strict: [name: :string, redirect_uri: :string, scopes: :string], + aliases: [n: :name, r: :redirect_uri, s: :scopes] + ) + + scopes = + if opts[:scopes] do + String.split(opts[:scopes], ",") + else + ["read", "write", "follow", "push"] + end + + params = %{ + client_name: opts[:name], + redirect_uris: opts[:redirect_uri], + trusted: true, + scopes: scopes + } + + with {:ok, app} <- Pleroma.Web.OAuth.App.create(params) do + shell_info("#{app.client_name} successfully created:") + shell_info("App client_id: " <> app.client_id) + shell_info("App client_secret: " <> app.client_secret) + else + {:error, changeset} -> + shell_error("Creating failed:") + + Enum.each(Pleroma.Web.OAuth.App.errors(changeset), fn {key, error} -> + shell_error("#{key}: #{error}") + end) + end + end +end diff --git a/lib/mix/tasks/pleroma/benchmark.ex b/lib/mix/tasks/pleroma/benchmark.ex index dd2b9c8f2..6ab7fe8ef 100644 --- a/lib/mix/tasks/pleroma/benchmark.ex +++ b/lib/mix/tasks/pleroma/benchmark.ex @@ -67,7 +67,8 @@ defmodule Mix.Tasks.Pleroma.Benchmark do Pleroma.Web.MastodonAPI.StatusView.render("index.json", %{ activities: activities, for: user, - as: :activity + as: :activity, + skip_relationships: true }) end }, |