Update maybe_put_id
This commit is contained in:
parent
3b3e07f6ba
commit
4c45af5eb8
6 changed files with 49 additions and 31 deletions
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.Accounts.User do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
|
||||
@primary_key {:id, :integer, autogenerate: false}
|
||||
|
@ -41,17 +40,21 @@ defmodule Nulla.Accounts.User do
|
|||
"""
|
||||
def registration_changeset(user, attrs, opts \\ []) do
|
||||
user
|
||||
|> cast(attrs, [:email, :password])
|
||||
|> cast(attrs, [:id, :email, :password])
|
||||
|> maybe_put_id()
|
||||
|> validate_email(opts)
|
||||
|> validate_password(opts)
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
|
||||
defp validate_email(changeset, opts) do
|
||||
changeset
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.Activities.Activity do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
alias Nulla.Types.StringOrJson
|
||||
|
||||
|
@ -26,9 +25,13 @@ defmodule Nulla.Activities.Activity do
|
|||
|> validate_required([:ap_id, :type, :actor, :object])
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.Actors.Actor do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
|
||||
@primary_key {:id, :integer, autogenerate: false}
|
||||
|
@ -87,9 +86,13 @@ defmodule Nulla.Actors.Actor do
|
|||
])
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.MediaAttachments.MediaAttachment do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
alias Nulla.Notes.Note
|
||||
|
||||
|
@ -27,9 +26,13 @@ defmodule Nulla.MediaAttachments.MediaAttachment do
|
|||
|> validate_required([:type, :mediaType, :url, :note_id])
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.Notes.Note do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
alias Nulla.Actors.Actor
|
||||
alias Nulla.MediaAttachments.MediaAttachment
|
||||
|
@ -52,9 +51,13 @@ defmodule Nulla.Notes.Note do
|
|||
])
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
defmodule Nulla.Relations.Relation do
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Ecto.Changeset
|
||||
alias Nulla.Snowflake
|
||||
alias Nulla.Actors.Actor
|
||||
|
||||
|
@ -65,9 +64,13 @@ defmodule Nulla.Relations.Relation do
|
|||
|> unique_constraint([:local_actor_id, :remote_actor_id])
|
||||
end
|
||||
|
||||
defp maybe_put_id(%Changeset{data: %{id: nil}} = changeset) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
end
|
||||
defp maybe_put_id(changeset) do
|
||||
id_in_attrs = get_field(changeset, :id)
|
||||
|
||||
defp maybe_put_id(changeset), do: changeset
|
||||
if is_nil(id_in_attrs) do
|
||||
change(changeset, id: Snowflake.next_id())
|
||||
else
|
||||
changeset
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue