diff --git a/lib/nulla/activitypub.ex b/lib/nulla/activitypub.ex index 12ad121..e746002 100644 --- a/lib/nulla/activitypub.ex +++ b/lib/nulla/activitypub.ex @@ -96,11 +96,15 @@ defmodule Nulla.ActivityPub do type: "Note", summary: nil, inReplyTo: note.inReplyTo, - published: note.published, + published: note.inserted_at, url: note.url, attributedTo: note.actor.ap_id, - to: note.to, - cc: note.cc, + to: [ + "https://www.w3.org/ns/activitystreams#Public" + ], + cc: [ + "#{note.actor.ap_id}/followers" + ], sensitive: note.sensitive, content: note.content, contentMap: Jason.OrderedObject.new("#{note.language}": note.content), @@ -337,7 +341,6 @@ defmodule Nulla.ActivityPub do to: [ "https://www.w3.org/ns/activitystreams#Public" ], - cc: [], object: Jason.OrderedObject.new( id: "#{note.actor.ap_id}/notes/#{note.id}", diff --git a/lib/nulla/models/activity.ex b/lib/nulla/models/activity.ex index c69b2af..44e21bb 100644 --- a/lib/nulla/models/activity.ex +++ b/lib/nulla/models/activity.ex @@ -11,8 +11,8 @@ defmodule Nulla.Models.Activity do field :type, :string field :actor, :string field :object, :string - field :to, {:array, :string} - field :cc, {:array, :string} + field :to, :string + field :cc, :string timestamps() end diff --git a/lib/nulla/models/note.ex b/lib/nulla/models/note.ex index 2b603e6..a109559 100644 --- a/lib/nulla/models/note.ex +++ b/lib/nulla/models/note.ex @@ -10,10 +10,12 @@ defmodule Nulla.Models.Note do @primary_key {:id, :integer, autogenerate: false} schema "notes" do field :inReplyTo, :string - field :published, :utc_datetime field :url, :string - field :to, {:array, :string} - field :cc, {:array, :string} + + field :visibility, Ecto.Enum, + values: [:public, :unlisted, :followers, :private], + default: :public + field :sensitive, :boolean, default: false field :content, :string field :language, :string diff --git a/priv/repo/migrations/20250615131431_create_notes.exs b/priv/repo/migrations/20250615131431_create_notes.exs index 3115275..d872437 100644 --- a/priv/repo/migrations/20250615131431_create_notes.exs +++ b/priv/repo/migrations/20250615131431_create_notes.exs @@ -5,10 +5,8 @@ defmodule Nulla.Repo.Migrations.CreateNotes do create table(:notes, primary_key: false) do add :id, :bigint, primary_key: true add :inReplyTo, :string - add :published, :utc_datetime add :url, :string - add :to, {:array, :string} - add :cc, {:array, :string} + add :visibility, :string, default: "public" add :sensitive, :boolean, default: false add :content, :text add :language, :string diff --git a/priv/repo/migrations/20250615131856_create_activities.exs b/priv/repo/migrations/20250615131856_create_activities.exs index b21c662..9d95372 100644 --- a/priv/repo/migrations/20250615131856_create_activities.exs +++ b/priv/repo/migrations/20250615131856_create_activities.exs @@ -8,8 +8,8 @@ defmodule Nulla.Repo.Migrations.CreateActivities do add :type, :string, null: false add :actor, :string, null: false add :object, :text, null: false - add :to, {:array, :string} - add :cc, {:array, :string} + add :to, :text + add :cc, :text timestamps() end