Created
May 6, 2024 12:18
-
-
Save jorgevilaca82/916770146581a8ec00048a2111543581 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule ExternalUser do | |
use Ecto.Schema | |
import Ecto.Changeset | |
@primary_key false | |
embedded_schema do | |
field(:first_name, :string) | |
field(:last_name, :string) | |
end | |
@fields ~w(first_name last_name)a | |
def changeset(params) do | |
%__MODULE__{} | |
|> cast(params, @fields) | |
end | |
def create(params) do | |
ch = changeset(params) | |
if ch.valid? do | |
{:ok, apply_changes(ch)} | |
else | |
{:error, ch} | |
end | |
end | |
def to_profile(%{first_name: first, last_name: last}) do | |
%{name: "#{first} #{last}"} | |
end | |
end | |
data = %{"first_name" => "Jorge", "last_name" => "Vilaça"} | |
{:ok, user} = ExternalUser.create(data) | |
ExternalUser.to_profile(user) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment