Add REST API for managing and posting to circles

Circles are the conceptual opposite of lists. A list is a subdivision
of your follows, a circle is a subdivision of your followers. Posting
to a circle means making content available to only some of your
followers. Circles have been internally supported in Mastodon for
the purposes of federation since #8950, this adds the REST API
necessary for making use of them in Mastodon itsef.
This commit is contained in:
Eugen Rochko 2020-07-19 02:05:16 +02:00
parent a29080256e
commit 6358072bc0
19 changed files with 353 additions and 4 deletions

View file

@ -0,0 +1,10 @@
class CreateCircles < ActiveRecord::Migration[5.2]
def change
create_table :circles do |t|
t.belongs_to :account, foreign_key: { on_delete: :cascade }, null: false
t.string :title, default: '', null: false
t.timestamps
end
end
end

View file

@ -0,0 +1,14 @@
class CreateCircleAccounts < ActiveRecord::Migration[5.2]
def change
create_table :circle_accounts do |t|
t.belongs_to :circle, foreign_key: { on_delete: :cascade }, null: false
t.belongs_to :account, foreign_key: { on_delete: :cascade }, null: false
t.belongs_to :follow, foreign_key: { on_delete: :cascade }, null: false
t.timestamps
end
add_index :circle_accounts, [:account_id, :circle_id], unique: true
add_index :circle_accounts, [:circle_id, :account_id]
end
end