From 29be90332fc2612eadf66a60f61dced5d5cc5983 Mon Sep 17 00:00:00 2001 From: FloatingGhost Date: Mon, 25 Jul 2022 10:44:12 +0100 Subject: [PATCH] fix tests/schema --- .../article_note_page_validator.ex | 1 - .../web/activity_pub/transmogrifier.ex | 1 - .../api_spec/operations/status_operation.ex | 3 +- lib/pleroma/web/api_spec/schemas/status.ex | 36 ++++++++++++------- lib/pleroma/web/common_api/activity_draft.ex | 2 +- lib/pleroma/web/federator.ex | 1 - .../web/mastodon_api/views/status_view.ex | 3 +- priv/static/schemas/litepub-0.1.jsonld | 4 +++ .../mastodon_api/views/status_view_test.exs | 4 ++- 9 files changed, 34 insertions(+), 21 deletions(-) diff --git a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex index 68a478464..a0724ca55 100644 --- a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex +++ b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex @@ -163,7 +163,6 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.ArticleNotePageValidator do end def changeset(struct, data) do - IO.inspect(data) data = fix(data) struct diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index d14647211..b6ee24ee6 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -31,7 +31,6 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do Modifies an incoming AP object (mastodon format) to our internal format. """ def fix_object(object, options \\ []) do - IO.inspect(object) object |> strip_internal_fields() |> fix_actor() diff --git a/lib/pleroma/web/api_spec/operations/status_operation.ex b/lib/pleroma/web/api_spec/operations/status_operation.ex index ad3889f02..a5da8b58e 100644 --- a/lib/pleroma/web/api_spec/operations/status_operation.ex +++ b/lib/pleroma/web/api_spec/operations/status_operation.ex @@ -500,8 +500,7 @@ defmodule Pleroma.Web.ApiSpec.StatusOperation do quote_id: %Schema{ nullable: true, type: :string, - description: - "Will quote a given status." + description: "Will quote a given status." } }, example: %{ diff --git a/lib/pleroma/web/api_spec/schemas/status.ex b/lib/pleroma/web/api_spec/schemas/status.ex index 16c047738..60db8ad6f 100644 --- a/lib/pleroma/web/api_spec/schemas/status.ex +++ b/lib/pleroma/web/api_spec/schemas/status.ex @@ -139,7 +139,9 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do nullable: true }, quote: %Schema{ - + allOf: [%OpenApiSpex.Reference{"$ref": "#/components/schemas/Status"}], + nullable: true, + description: "Quoted status (if any)" }, pleroma: %Schema{ type: :object, @@ -216,18 +218,26 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do type: :object, properties: %{ source: %Schema{ - type: :object, - properties: %{ - content: %Schema{ - type: :string, - description: "The source content of the status" - }, - mediaType: %Schema{ - type: :string, - description: "The source MIME type of the status", - example: "text/plain" - }, - } + nullable: true, + oneOf: [ + %Schema{type: :string, example: 'plaintext content'}, + %Schema{ + type: :object, + properties: %{ + content: %Schema{ + type: :string, + description: "The source content of the status", + nullable: true + }, + mediaType: %Schema{ + type: :string, + description: "The source MIME type of the status", + example: "text/plain", + nullable: true + } + } + } + ] } } }, diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex index 462c3f6ca..da6402c32 100644 --- a/lib/pleroma/web/common_api/activity_draft.ex +++ b/lib/pleroma/web/common_api/activity_draft.ex @@ -39,7 +39,6 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do preview?: false, changes: %{} - def new(user, params) do %__MODULE__{user: user} |> put_params(params) @@ -118,6 +117,7 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do quote = Activity.get_by_id(id) # only quote public/unlisted statuses visibility = CommonAPI.get_quoted_visibility(quote) + if visibility in ["public", "unlisted"] do %__MODULE__{draft | quote: Activity.get_by_id(id)} else diff --git a/lib/pleroma/web/federator.ex b/lib/pleroma/web/federator.ex index 7f525a525..82fb9e4e0 100644 --- a/lib/pleroma/web/federator.ex +++ b/lib/pleroma/web/federator.ex @@ -112,7 +112,6 @@ defmodule Pleroma.Web.Federator do e -> # Just drop those for now Logger.debug(fn -> "Unhandled activity\n" <> Jason.encode!(params, pretty: true) end) - IO.inspect(e) {:error, e} end end diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index b4ecc7a09..cf4ea51e0 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -365,7 +365,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do application: build_application(object.data["generator"]), language: nil, emojis: build_emojis(object.data["emoji"]), - quote_id: (if quote, do: quote.id, else: nil), + quote_id: if(quote, do: quote.id, else: nil), quote: maybe_render_quote(quote, opts), pleroma: %{ local: activity.local, @@ -619,6 +619,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do opts |> Map.put(:activity, quote) |> Map.put(:do_not_recurse, true) + render("show.json", opts) end end diff --git a/priv/static/schemas/litepub-0.1.jsonld b/priv/static/schemas/litepub-0.1.jsonld index e7722cf72..d2b62ba77 100644 --- a/priv/static/schemas/litepub-0.1.jsonld +++ b/priv/static/schemas/litepub-0.1.jsonld @@ -17,6 +17,8 @@ "ostatus": "http://ostatus.org#", "schema": "http://schema.org#", "toot": "http://joinmastodon.org/ns#", + "misskey": "https://misskey-hub.net/ns#", + "fedibird": "http://fedibird.com/ns#", "value": "schema:value", "sensitive": "as:sensitive", "litepub": "http://litepub.social/ns#", @@ -26,6 +28,8 @@ "@id": "litepub:listMessage", "@type": "@id" }, + "quoteUrl": "as:quoteUrl", + "quoteUri": "fedibird:quoteUri", "oauthRegistrationEndpoint": { "@id": "litepub:oauthRegistrationEndpoint", "@type": "@id" diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs index caf2594c0..f83a42017 100644 --- a/test/pleroma/web/mastodon_api/views/status_view_test.exs +++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs @@ -305,7 +305,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do }, akkoma: %{ source: HTML.filter_tags(object_data["content"]) - } + }, + quote_id: nil, + quote: nil } assert status == expected