Reuse existing addresses when creating an event

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2019-08-22 15:57:44 +02:00
parent ebf5534003
commit 0e0b68445b
22 changed files with 410 additions and 121 deletions

View File

@@ -50,6 +50,8 @@ defmodule Mobilizon.Addresses do
"""
def get_address!(id), do: Repo.get!(Address, id)
def get_address(id), do: Repo.get(Address, id)
@doc """
Gets a single address by it's url
@@ -80,7 +82,10 @@ defmodule Mobilizon.Addresses do
def create_address(attrs \\ %{}) do
%Address{}
|> Address.changeset(attrs)
|> Repo.insert()
|> Repo.insert(
on_conflict: :replace_all_except_primary_key,
conflict_target: [:origin_id]
)
end
@doc """