analytics / lib /plausible /sites /index /user_preference.ex
Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
8da2481 verified
Raw
History Blame Contribute Delete
647 Bytes
defmodule Plausible.Sites.Index.UserPreference do
@moduledoc """
User preference persistence schema for the sites index
"""
use Ecto.Schema
import Ecto.Changeset
alias Plausible.Sites.Index
@primary_key false
embedded_schema do
field :sort_by, Ecto.Enum, values: Index.sort_by_values(), default: :traffic
field :sort_direction, Ecto.Enum, values: Index.sort_direction_values(), default: :desc
end
def changeset(struct \\ %__MODULE__{}, attrs) do
cast(struct, attrs, [:sort_by, :sort_direction])
end
def new(attrs) do
attrs |> changeset() |> apply_changes()
end
def default(), do: %__MODULE__{}
end