use Pleroma.Web, :controller
alias Pleroma.Plugs.OAuthScopesPlug
+ plug(Pleroma.Web.ApiSpec.CastAndValidate)
+
plug(
OAuthScopesPlug,
%{scopes: ["read:statuses"]}
plug(OAuthScopesPlug, %{scopes: ["write:statuses"]} when action == :upsert)
action_fallback(Pleroma.Web.MastodonAPI.FallbackController)
- plug(OpenApiSpex.Plug.CastAndValidate)
defdelegate open_api_operation(action), to: Pleroma.Web.ApiSpec.MarkerOperation
# POST /api/v1/markers
def upsert(%{assigns: %{user: user}, body_params: params} = conn, _) do
- params =
- params
- |> Map.from_struct()
- |> Map.new(fn {key, value} -> {to_string(key), value} end)
+ params = Map.new(params, fn {key, value} -> {to_string(key), value} end)
with {:ok, result} <- Pleroma.Marker.upsert(user, params),
markers <- Map.values(result) do