use dynamic dispatch

This commit is contained in:
2025-04-05 02:59:27 +00:00
parent 0c5442f0cd
commit e379896512
14 changed files with 62 additions and 69 deletions

View File

@ -3,11 +3,8 @@ defmodule Memex.Contexts.Context do
Represents a document that synthesizes multiple concepts as defined by notes
into a single consideration
"""
use Ecto.Schema
use Gettext, backend: MemexWeb.Gettext
import Ecto.Changeset
alias Ecto.{Changeset, UUID}
alias Memex.{Accounts.User, Repo}
use Memex, :schema
@derive {Phoenix.Param, key: :slug}
@derive {Jason.Encoder,
@ -19,8 +16,6 @@ defmodule Memex.Contexts.Context do
:inserted_at,
:updated_at
]}
@primary_key {:id, :binary_id, autogenerate: true}
@foreign_key_type :binary_id
schema "contexts" do
field :slug, :string
field :content, :string
@ -59,7 +54,7 @@ defmodule Memex.Contexts.Context do
)
|> validate_required([:slug, :user_id, :visibility])
|> unique_constraint(:slug)
|> unsafe_validate_unique(:slug, Repo)
|> unsafe_validate_unique(:slug, Memex.Repo)
end
@spec update_changeset(t(), attrs :: map(), User.t()) :: changeset()
@ -73,7 +68,7 @@ defmodule Memex.Contexts.Context do
)
|> validate_required([:slug, :visibility])
|> unique_constraint(:slug)
|> unsafe_validate_unique(:slug, Repo)
|> unsafe_validate_unique(:slug, Memex.Repo)
end
defp cast_tags_string(changeset, attrs) do