Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2020
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. defmodule YourApp.Schemas.Options struct
  2. use Ecto.Schema
  3.  
  4. schema "options" do
  5. field :key, :string
  6. field :value, :string
  7. end
  8.  
  9. def changeset(%__MODULE__{} = option, attrs \\ %{}) do
  10. option
  11. |> cast([:key, :value])
  12.  
  13. end
  14.  
  15. def create_changeset(attrs \\ %{}) do
  16. %__MODULE__{}
  17. |> changeset(attrs)
  18. |> validate()
  19. end
  20.  
  21. def update_changeset(%__MODULE__{} = option, attrs \\ %{}) do
  22. option
  23. |> changeset(attrs)
  24. |> validate()
  25. end
  26.  
  27. defp validate(changeset) do
  28. changeset
  29. |> validate_required(:key)
  30. |> validate_required(:value)
  31. |> unique_constraint([:key])
  32. end
  33. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement