Current section

Files

Jump to
parameter lib user.ex
Raw

lib/user.ex

# defmodule MyApp.User do
# use Ecto.Schema
# import Ecto.Changeset
# schema "users" do
# field(:first_name)
# field(:last_name)
# field(:email)
# field :age, :integer
# has_many :addresses, MyApp.Address
# end
# def asdf() do
# params = %{
# addresses: [%{city: "New York", street: "York"}],
# email: "john@email.com",
# first_name: "John",
# last_name: "Doe"
# }
# changeset(params)
# |> Ecto.Changeset.apply_action(:update)
# end
# def changeset(params \\ %{}) do
# %__MODULE__{}
# |> cast(params, [:first_name, :last_name, :email, :age])
# |> validate_required([:first_name, :email])
# |> validate_format(:email, ~r/@/)
# |> Ecto.Changeset.cast_assoc(:addresses, with: &MyApp.Address.changeset/2)
# end
# end
# defmodule User do
# use Parameter.Schema
# alias Parameter.Extensions.Changeset
# param do
# field :first_name, :string, key: "firstName", required: true
# field :last_name, :string, key: "lastName"
# field :email, :string
# has_one :address, Address
# end
# def load() do
# Parameter.load(
# User,
# %{
# "address" => %{"city" => "New York", "street" => "York"},
# "email" => "john@email.com",
# "firstName" => "John",
# "lastName" => "Doe"
# },
# struct: true
# )
# |> case do
# {:ok, entity} ->
# changeset(entity)
# |> Ecto.Changeset.apply_action(:update)
# error ->
# error
# end
# end
# def changeset(params) do
# User
# |> Changeset.cast(params)
# |> Changeset.cast_assoc(:address, with: &Address.changeset/1)
# end
# end