28 lines
803 B
Elixir
28 lines
803 B
Elixir
defmodule Plausible.Plugins.API.CustomProps do
|
|
@moduledoc """
|
|
Plugins API context module for Custom Props.
|
|
All high level Custom Props operations should be implemented here.
|
|
"""
|
|
|
|
@spec enable(Plausible.Site.t(), String.t() | [String.t()]) ::
|
|
{:ok, [String.t()]} | {:error, :upgrade_required | Ecto.Changeset.t()}
|
|
def enable(site, prop_or_props) do
|
|
case Plausible.Props.allow(site, prop_or_props) do
|
|
{:ok, site} ->
|
|
{:ok, site.allowed_event_props}
|
|
|
|
error ->
|
|
error
|
|
end
|
|
end
|
|
|
|
@spec disable(Plausible.Site.t(), String.t() | [String.t()]) ::
|
|
:ok | {:error, Ecto.Changeset.t()}
|
|
def disable(site, prop_or_props) do
|
|
case Plausible.Props.disallow(site, prop_or_props) do
|
|
{:ok, _site} -> :ok
|
|
error -> error
|
|
end
|
|
end
|
|
end
|