From 24cafd73a2b644025e9aeaadf4fed46dd3ecea4d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 18 Nov 2017 00:16:48 +0100 Subject: Lists (#5703) * Add structure for lists * Add list timeline streaming API * Add list APIs, bind list-account relation to follow relation * Add API for adding/removing accounts from lists * Add pagination to lists API * Add pagination to list accounts API * Adjust scopes for new APIs - Creating and modifying lists merely requires "write" scope - Fetching information about lists merely requires "read" scope * Add test for wrong user context on list timeline * Clean up tests --- db/migrate/20171114231651_create_lists.rb | 10 ++++++++++ db/migrate/20171116161857_create_list_accounts.rb | 12 ++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 db/migrate/20171114231651_create_lists.rb create mode 100644 db/migrate/20171116161857_create_list_accounts.rb (limited to 'db/migrate') diff --git a/db/migrate/20171114231651_create_lists.rb b/db/migrate/20171114231651_create_lists.rb new file mode 100644 index 000000000..21285e901 --- /dev/null +++ b/db/migrate/20171114231651_create_lists.rb @@ -0,0 +1,10 @@ +class CreateLists < ActiveRecord::Migration[5.1] + def change + create_table :lists do |t| + t.references :account, foreign_key: { on_delete: :cascade } + t.string :title, null: false, default: '' + + t.timestamps + end + end +end diff --git a/db/migrate/20171116161857_create_list_accounts.rb b/db/migrate/20171116161857_create_list_accounts.rb new file mode 100644 index 000000000..b76c90651 --- /dev/null +++ b/db/migrate/20171116161857_create_list_accounts.rb @@ -0,0 +1,12 @@ +class CreateListAccounts < ActiveRecord::Migration[5.1] + def change + create_table :list_accounts do |t| + t.belongs_to :list, 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 + end + + add_index :list_accounts, [:account_id, :list_id], unique: true + add_index :list_accounts, [:list_id, :account_id] + end +end -- cgit