This reverts commit 5135d609b7.
			
			
This commit is contained in:
		
				
					committed by
					
						 Matt Jankowski
						Matt Jankowski
					
				
			
			
				
	
			
			
			
						parent
						
							4a5f73c8ae
						
					
				
				
					commit
					a6788662b0
				
			| @@ -87,11 +87,11 @@ class Account < ApplicationRecord | ||||
|   end | ||||
|  | ||||
|   def block!(other_account) | ||||
|     block_relationships.where(target_account: other_account).first_or_create!(target_account: other_account, block: true) | ||||
|     block_relationships.where(target_account: other_account).first_or_create!(target_account: other_account) | ||||
|   end | ||||
|  | ||||
|   def mute!(other_account) | ||||
|     mute_relationships.where(target_account: other_account).first_or_create!(target_account: other_account, block: false) | ||||
|     mute_relationships.where(target_account: other_account).first_or_create!(target_account: other_account) | ||||
|   end | ||||
|  | ||||
|   def unfollow!(other_account) | ||||
|   | ||||
| @@ -1,19 +0,0 @@ | ||||
| class CreateBlockMutes < ActiveRecord::Migration[5.0] | ||||
|   def change | ||||
|     create_table "block_mutes", force: :casecade do |t| | ||||
|       t.integer  "account_id",        null: false | ||||
|       t.integer  "target_account_id", null: false | ||||
|       t.boolean  "block",             null: false | ||||
|       t.datetime "created_at",        null: false | ||||
|       t.datetime "updated_at",        null: false | ||||
|     end | ||||
|  | ||||
|     add_column       :blocks, :block, :boolean, null: false | ||||
|     execute          "ALTER TABLE blocks ADD CONSTRAINT check_mutes_on_block CHECK(block = TRUE), INHERIT block_mutes" | ||||
|     Block.update_all block: true | ||||
|  | ||||
|     add_column       :mutes, :block, :boolean, null: false | ||||
|     execute          "ALTER TABLE mutes ADD CONSTRAINT check_mutes_on_block CHECK(block = FALSE), INHERIT block_mutes" | ||||
|     Mute.update_all block: false | ||||
|   end | ||||
| end | ||||
							
								
								
									
										14
									
								
								db/schema.rb
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								db/schema.rb
									
									
									
									
									
								
							| @@ -10,7 +10,7 @@ | ||||
| # | ||||
| # It's strongly recommended that you check this file into your version control system. | ||||
|  | ||||
| ActiveRecord::Schema.define(version: 20180428000000) do | ||||
| ActiveRecord::Schema.define(version: 20170425202925) do | ||||
|  | ||||
|   # These are extensions that must be enabled in order to support this database | ||||
|   enable_extension "plpgsql" | ||||
| @@ -54,23 +54,13 @@ ActiveRecord::Schema.define(version: 20180428000000) do | ||||
|     t.index ["username", "domain"], name: "index_accounts_on_username_and_domain", unique: true, using: :btree | ||||
|   end | ||||
|  | ||||
|   create_table "block_mutes", force: :cascade, id: false do |t| | ||||
|     t.integer  "account_id",        null: false | ||||
|     t.integer  "target_account_id", null: false | ||||
|     t.boolean  "block",             null: false | ||||
|     t.datetime "created_at",        null: false | ||||
|     t.datetime "updated_at",        null: false | ||||
|   end | ||||
|  | ||||
|   create_table "blocks", force: :cascade do |t| | ||||
|     t.integer  "account_id",        null: false | ||||
|     t.integer  "target_account_id", null: false | ||||
|     t.boolean  "block",             null: false | ||||
|     t.datetime "created_at",        null: false | ||||
|     t.datetime "updated_at",        null: false | ||||
|     t.index ["account_id", "target_account_id"], name: "index_blocks_on_account_id_and_target_account_id", unique: true, using: :btree | ||||
|   end | ||||
|   execute   "ALTER TABLE blocks ADD CONSTRAINT check_blocks_on_block CHECK(block = TRUE), INHERIT block_mutes" | ||||
|  | ||||
|   create_table "domain_blocks", force: :cascade do |t| | ||||
|     t.string   "domain",       default: "", null: false | ||||
| @@ -147,12 +137,10 @@ ActiveRecord::Schema.define(version: 20180428000000) do | ||||
|   create_table "mutes", force: :cascade do |t| | ||||
|     t.integer  "account_id",        null: false | ||||
|     t.integer  "target_account_id", null: false | ||||
|     t.boolean  "block",             null: false | ||||
|     t.datetime "created_at",        null: false | ||||
|     t.datetime "updated_at",        null: false | ||||
|     t.index ["account_id", "target_account_id"], name: "index_mutes_on_account_id_and_target_account_id", unique: true, using: :btree | ||||
|   end | ||||
|   execute   "ALTER TABLE mutes ADD CONSTRAINT check_mutes_on_block CHECK(block = FALSE), INHERIT block_mutes" | ||||
|  | ||||
|   create_table "notifications", force: :cascade do |t| | ||||
|     t.integer  "account_id" | ||||
|   | ||||
| @@ -152,7 +152,7 @@ RSpec.describe AtomSerializer do | ||||
|  | ||||
|   describe '#block_salmon' do | ||||
|     let(:xml) do | ||||
|       block = Fabricate(:block, account: author, target_account: receiver, block: true) | ||||
|       block = Fabricate(:block, account: author, target_account: receiver) | ||||
|       xml   = AtomSerializer.render(AtomSerializer.new.block_salmon(block)) | ||||
|       block.destroy | ||||
|       xml | ||||
| @@ -171,7 +171,7 @@ RSpec.describe AtomSerializer do | ||||
|  | ||||
|   describe '#unblock_salmon' do | ||||
|     let(:xml) do | ||||
|       block = Fabricate(:block, account: author, target_account: receiver, block: true) | ||||
|       block = Fabricate(:block, account: author, target_account: receiver) | ||||
|       block.destroy | ||||
|       xml = AtomSerializer.render(AtomSerializer.new.unblock_salmon(block)) | ||||
|       author.block!(receiver) | ||||
|   | ||||
| @@ -193,9 +193,9 @@ RSpec.describe Account, type: :model do | ||||
|   describe '#excluded_from_timeline_account_ids' do | ||||
|     it 'includes account ids of blockings, blocked_bys and mutes' do | ||||
|       account = Fabricate(:account) | ||||
|       block = Fabricate(:block, account: account, block: true) | ||||
|       mute = Fabricate(:mute, account: account, block: false) | ||||
|       block_by = Fabricate(:block, target_account: account, block: true) | ||||
|       block = Fabricate(:block, account: account) | ||||
|       mute = Fabricate(:mute, account: account) | ||||
|       block_by = Fabricate(:block, target_account: account) | ||||
|  | ||||
|       results = account.excluded_from_timeline_account_ids | ||||
|       expect(results.size).to eq 3 | ||||
|   | ||||
| @@ -226,7 +226,7 @@ RSpec.describe Status, type: :model do | ||||
|  | ||||
|       it 'excludes statuses from accounts blocked by the account' do | ||||
|         blocked = Fabricate(:account) | ||||
|         Fabricate(:block, account: @account, target_account: blocked, block: true) | ||||
|         Fabricate(:block, account: @account, target_account: blocked) | ||||
|         blocked_status = Fabricate(:status, account: blocked) | ||||
|  | ||||
|         results = Status.as_public_timeline(@account) | ||||
| @@ -235,7 +235,7 @@ RSpec.describe Status, type: :model do | ||||
|  | ||||
|       it 'excludes statuses from accounts who have blocked the account' do | ||||
|         blocked = Fabricate(:account) | ||||
|         Fabricate(:block, account: blocked, target_account: @account, block: true) | ||||
|         Fabricate(:block, account: blocked, target_account: @account) | ||||
|         blocked_status = Fabricate(:status, account: blocked) | ||||
|  | ||||
|         results = Status.as_public_timeline(@account) | ||||
| @@ -244,7 +244,7 @@ RSpec.describe Status, type: :model do | ||||
|  | ||||
|       it 'excludes statuses from accounts muted by the account' do | ||||
|         muted = Fabricate(:account) | ||||
|         Fabricate(:mute, account: @account, target_account: muted, block: false) | ||||
|         Fabricate(:mute, account: @account, target_account: muted) | ||||
|         muted_status = Fabricate(:status, account: muted) | ||||
|  | ||||
|         results = Status.as_public_timeline(@account) | ||||
|   | ||||
| @@ -188,7 +188,7 @@ if (cluster.isMaster) { | ||||
|           const unpackedPayload  = JSON.parse(payload) | ||||
|           const targetAccountIds = [unpackedPayload.account.id].concat(unpackedPayload.mentions.map(item => item.id)).concat(unpackedPayload.reblog ? [unpackedPayload.reblog.account.id] : []) | ||||
|  | ||||
|           client.query(`SELECT target_account_id FROM block_mutes WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)})`, [req.accountId].concat(targetAccountIds), (err, result) => { | ||||
|           client.query(`SELECT target_account_id FROM blocks WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)}) UNION SELECT target_account_id FROM mutes WHERE account_id = $1 AND target_account_id IN (${placeholders(targetAccountIds, 1)})`, [req.accountId].concat(targetAccountIds), (err, result) => { | ||||
|             done() | ||||
|  | ||||
|             if (err) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user