X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fdelivery.ex;h=0ded2855c79dc76783a609979b7513e7be2d6840;hb=df5e048cbb7d349b34203ccba49a8f646e4d93a3;hp=ce8fb96f40dbc09cb0955c69dc553b20ea96fab4;hpb=fb96facc32fb275efffeefa2892a1098ecd68b77;p=akkoma
diff --git a/lib/pleroma/delivery.ex b/lib/pleroma/delivery.ex
index ce8fb96f4..0ded2855c 100644
--- a/lib/pleroma/delivery.ex
+++ b/lib/pleroma/delivery.ex
@@ -1,12 +1,11 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors
+# Copyright © 2017-2020 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Delivery do
use Ecto.Schema
alias Pleroma.Delivery
- alias Pleroma.FlakeId
alias Pleroma.Object
alias Pleroma.Repo
alias Pleroma.User
@@ -16,13 +15,14 @@ defmodule Pleroma.Delivery do
import Ecto.Query
schema "deliveries" do
- belongs_to(:user, User, type: FlakeId)
+ belongs_to(:user, User, type: FlakeId.Ecto.CompatType)
belongs_to(:object, Object)
end
def changeset(delivery, params \\ %{}) do
delivery
|> cast(params, [:user_id, :object_id])
+ |> validate_required([:user_id, :object_id])
|> foreign_key_constraint(:object_id)
|> foreign_key_constraint(:user_id)
|> unique_constraint(:user_id, name: :deliveries_user_id_object_id_index)
@@ -31,7 +31,7 @@ defmodule Pleroma.Delivery do
def create(object_id, user_id) do
%Delivery{}
|> changeset(%{user_id: user_id, object_id: object_id})
- |> Repo.insert()
+ |> Repo.insert(on_conflict: :nothing)
end
def get(object_id, user_id) do