analytics / lib /plausible_web /plugins /api /schemas /goal /create_request.ex
Leon4gr45's picture
Upload folder using huggingface_hub (part 3)
88211d3 verified
Raw
History Blame Contribute Delete
1.06 kB
defmodule PlausibleWeb.Plugins.API.Schemas.Goal.CreateRequest do
@moduledoc """
OpenAPI schema for Goal creation request
"""
use Plausible.Funnel.Const
use PlausibleWeb, :open_api_schema
OpenApiSpex.schema(%{
title: "Goal.CreateRequest",
description: "Goal creation params",
type: :object,
oneOf: [
%Schema{
title: "Goal.CreateRequest.BulkGetOrCreate",
type: :object,
description: "Bulk goal creation request",
required: [:goals],
properties: %{
goals: %Schema{
type: :array,
minItems: 1,
maxItems: Funnel.Const.max_steps(),
items: %Schema{
oneOf: [
Schemas.Goal.CreateRequest.CustomEvent,
Schemas.Goal.CreateRequest.Revenue,
Schemas.Goal.CreateRequest.Pageview
]
}
}
}
},
Schemas.Goal.CreateRequest.CustomEvent,
Schemas.Goal.CreateRequest.Revenue,
Schemas.Goal.CreateRequest.Pageview
]
})
end