diff --git a/lib/nulla/activitypub.ex b/lib/nulla/activitypub.ex index e746002..12ad121 100644 --- a/lib/nulla/activitypub.ex +++ b/lib/nulla/activitypub.ex @@ -96,15 +96,11 @@ defmodule Nulla.ActivityPub do type: "Note", summary: nil, inReplyTo: note.inReplyTo, - published: note.inserted_at, + published: note.published, url: note.url, attributedTo: note.actor.ap_id, - to: [ - "https://www.w3.org/ns/activitystreams#Public" - ], - cc: [ - "#{note.actor.ap_id}/followers" - ], + to: note.to, + cc: note.cc, sensitive: note.sensitive, content: note.content, contentMap: Jason.OrderedObject.new("#{note.language}": note.content), @@ -341,6 +337,7 @@ 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/note.ex b/lib/nulla/models/note.ex index a109559..2b603e6 100644 --- a/lib/nulla/models/note.ex +++ b/lib/nulla/models/note.ex @@ -10,12 +10,10 @@ 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 :visibility, Ecto.Enum, - values: [:public, :unlisted, :followers, :private], - default: :public - + field :to, {:array, :string} + field :cc, {:array, :string} 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 d872437..3115275 100644 --- a/priv/repo/migrations/20250615131431_create_notes.exs +++ b/priv/repo/migrations/20250615131431_create_notes.exs @@ -5,8 +5,10 @@ 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 :visibility, :string, default: "public" + add :to, {:array, :string} + add :cc, {:array, :string} add :sensitive, :boolean, default: false add :content, :text add :language, :string