ja_serializer v0.15.0 JaSerializer.Params View Source
Functions to help when working with json api params.
Link to this section Summary
Functions
Takes the entire params passed in, and merges relationships and attributes
Link to this section Functions
Link to this function
to_attributes(data) View Source
Takes the entire params passed in, and merges relationships and attributes.
Note, this expects to receive the json api "data" param.
Example functionality:
JaSerializer.Params.to_attributes(%{
"type" => "person",
"attributes" => %{"first" => "Jane", "last" => "Doe", "type" => "anon"},
"relationships" => %{"user" => %{"data" => %{"id" => 1}}}
})
%{
"first" => "Jane",
"last" => "Doe",
"type" => "anon",
"user_id" => 1
}
Example usage:
def create(conn, %{"data" => data}) do
%Comment{}
|> Comment.changeset(create_params(data))
|> Repo.insert
|> case do
{:ok, my_model} ->
# etc
{:error, changeset} -> etc
# etc
end
end
defp create_params(data) do
data
|> JaSerializer.Params.to_attributes
|> Map.take(["name", "body", "post_id"])
end