forked from AkkomaGang/akkoma
MastoAPI: accept notify param in follow request
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
5c573a8a28
commit
64a4c147b1
2 changed files with 17 additions and 1 deletions
|
@ -226,6 +226,12 @@ def follow_operation do
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
description: "Receive this account's reblogs in home timeline? Defaults to true.",
|
description: "Receive this account's reblogs in home timeline? Defaults to true.",
|
||||||
default: true
|
default: true
|
||||||
|
},
|
||||||
|
notify: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
description:
|
||||||
|
"Receive notifications for all statuses posted by the account? Defaults to false.",
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -24,6 +24,7 @@ def follow(follower, followed, params \\ %{}) do
|
||||||
with {:ok, follower, _followed, _} <- result do
|
with {:ok, follower, _followed, _} <- result do
|
||||||
options = cast_params(params)
|
options = cast_params(params)
|
||||||
set_reblogs_visibility(options[:reblogs], result)
|
set_reblogs_visibility(options[:reblogs], result)
|
||||||
|
set_subscription(options[:notify], result)
|
||||||
{:ok, follower}
|
{:ok, follower}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -36,6 +37,14 @@ defp set_reblogs_visibility(_, {:ok, follower, followed, _}) do
|
||||||
CommonAPI.show_reblogs(follower, followed)
|
CommonAPI.show_reblogs(follower, followed)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp set_subscription(true, {:ok, follower, followed, _}) do
|
||||||
|
User.subscribe(follower, followed)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp set_subscription(_, {:ok, follower, followed, _}) do
|
||||||
|
User.unsubscribe(follower, followed)
|
||||||
|
end
|
||||||
|
|
||||||
@spec get_followers(User.t(), map()) :: list(User.t())
|
@spec get_followers(User.t(), map()) :: list(User.t())
|
||||||
def get_followers(user, params \\ %{}) do
|
def get_followers(user, params \\ %{}) do
|
||||||
user
|
user
|
||||||
|
@ -73,7 +82,8 @@ defp cast_params(params) do
|
||||||
exclude_visibilities: {:array, :string},
|
exclude_visibilities: {:array, :string},
|
||||||
reblogs: :boolean,
|
reblogs: :boolean,
|
||||||
with_muted: :boolean,
|
with_muted: :boolean,
|
||||||
account_ap_id: :string
|
account_ap_id: :string,
|
||||||
|
notify: :boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
changeset = cast({%{}, param_types}, params, Map.keys(param_types))
|
changeset = cast({%{}, param_types}, params, Map.keys(param_types))
|
||||||
|
|
Loading…
Reference in a new issue