aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-29 06:52:54 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-12-04 04:52:09 +0000
commit5d753e1c7cb1b26ad224255c31b0b64ad917ebaa (patch)
tree7506e2f5eea65e043b1f4357befd6c60258a34df /lib
parent6f90f2c3ac70c74b9d06debb09530d5f479b5a8c (diff)
downloadpleroma-5d753e1c7cb1b26ad224255c31b0b64ad917ebaa.tar.gz
activity: add helpers for updating activities in the database
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/activity.ex9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex
index 34d0a34b8..e3aa4eb97 100644
--- a/lib/pleroma/activity.ex
+++ b/lib/pleroma/activity.ex
@@ -1,7 +1,7 @@
defmodule Pleroma.Activity do
use Ecto.Schema
alias Pleroma.{Repo, Activity, Notification, Object}
- import Ecto.Query
+ import Ecto.{Query, Changeset}
schema "activities" do
field(:data, :map)
@@ -22,6 +22,13 @@ defmodule Pleroma.Activity do
)
end
+ def change(struct, params \\ %{}) do
+ struct
+ |> cast(params, [:data])
+ |> validate_required([:data])
+ |> unique_constraint(:ap_id, name: :activities_unique_apid_index)
+ end
+
# TODO:
# Go through these and fix them everywhere.
# Wrong name, only returns create activities