summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivant.business@gmail.com>2019-03-18 20:31:24 +0300
committerIvan Tashkinov <ivant.business@gmail.com>2019-03-18 20:31:24 +0300
commit40e9a04c31a9965dee92cb8f07ed6db28f8ccd75 (patch)
tree52c2162af9ae9723cc27919dc097971ab7524559
parent8d21859717a75e01128f50b0b51efdd0a4748670 (diff)
downloadpleroma-40e9a04c31a9965dee92cb8f07ed6db28f8ccd75.tar.gz
pleroma-40e9a04c31a9965dee92cb8f07ed6db28f8ccd75.zip
[#923] Registration validations & unique index on [:user_id, :provider].
-rw-r--r--lib/pleroma/registration.ex1
-rw-r--r--priv/repo/migrations/20190315101315_create_registrations.exs1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/pleroma/registration.ex b/lib/pleroma/registration.ex
index 1bd91a316..773e25fa6 100644
--- a/lib/pleroma/registration.ex
+++ b/lib/pleroma/registration.ex
@@ -23,6 +23,7 @@ defmodule Pleroma.Registration do
def changeset(registration, params \\ %{}) do
registration
|> cast(params, [:user_id, :provider, :uid, :info])
+ |> validate_required([:provider, :uid])
|> foreign_key_constraint(:user_id)
|> unique_constraint(:uid, name: :registrations_provider_uid_index)
end
diff --git a/priv/repo/migrations/20190315101315_create_registrations.exs b/priv/repo/migrations/20190315101315_create_registrations.exs
index dac86b780..c566912f5 100644
--- a/priv/repo/migrations/20190315101315_create_registrations.exs
+++ b/priv/repo/migrations/20190315101315_create_registrations.exs
@@ -12,5 +12,6 @@ defmodule Pleroma.Repo.Migrations.CreateRegistrations do
end
create unique_index(:registrations, [:provider, :uid])
+ create unique_index(:registrations, [:user_id, :provider])
end
end