Add OpenAPI spec for SuggestionController

This commit is contained in:
Egor Kislitsyn 2020-05-13 14:15:24 +04:00
parent 156c8a5088
commit bcadbf964a
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805
2 changed files with 19 additions and 4 deletions

View file

@ -5,11 +5,26 @@
defmodule Pleroma.Web.MastodonAPI.SuggestionController do
use Pleroma.Web, :controller
alias Pleroma.Plugs.OAuthScopesPlug
require Logger
plug(OAuthScopesPlug, %{scopes: ["read"]} when action == :index)
plug(Pleroma.Web.ApiSpec.CastAndValidate)
plug(Pleroma.Plugs.OAuthScopesPlug, %{scopes: ["read"]} when action == :index)
def open_api_operation(action) do
operation = String.to_existing_atom("#{action}_operation")
apply(__MODULE__, operation, [])
end
def index_operation do
%OpenApiSpex.Operation{
tags: ["Suggestions"],
summary: "Follow suggestions (Not implemented)",
operationId: "SuggestionController.index",
responses: %{
200 => Pleroma.Web.ApiSpec.Helpers.empty_array_response()
}
}
end
@doc "GET /api/v1/suggestions"
def index(conn, params),

View file

@ -11,7 +11,7 @@ test "returns empty result", %{conn: conn} do
res =
conn
|> get("/api/v1/suggestions")
|> json_response(200)
|> json_response_and_validate_schema(200)
assert res == []
end