defmodule PlausibleWeb.Plugins.API.Schemas.Goal.CustomEvent do @moduledoc """ OpenAPI schema for Custom Event Goal object """ use PlausibleWeb, :open_api_schema alias Schemas.Goal.CustomProps OpenApiSpex.schema(%{ description: "Custom Event Goal object", title: "Goal.CustomEvent", type: :object, allOf: [ Schemas.Goal.Type, %Schema{ type: :object, required: [:goal], properties: %{ goal: %Schema{ type: :object, required: [:id, :display_name, :event_name], properties: %{ id: %Schema{type: :integer, description: "Goal ID", readOnly: true}, display_name: %Schema{type: :string, description: "Display name", readOnly: true}, event_name: %Schema{type: :string, description: "Event Name"}, custom_props: CustomProps.response_schema() } } } } ] }) end