Skip to content
Snippets Groups Projects
Commit 49834a6e authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Add API for retrieving blocked accounts

parent 8724094e
No related branches found
No related tags found
No related merge requests found
Showing
with 50 additions and 14 deletions
......@@ -86,3 +86,4 @@ AllCops:
- 'config/**/*'
- 'bin/*'
- 'Rakefile'
- 'node_modules/**/*'
# frozen_string_literal: true
class Api::V1::BlocksController < ApiController
before_action -> { doorkeeper_authorize! :follow }
before_action :require_user!
respond_to :json
def index
results = Block.where(account: current_account).paginate_by_max_id(DEFAULT_ACCOUNTS_LIMIT, params[:max_id], params[:since_id])
accounts = Account.where(id: results.map(&:target_account_id)).map { |a| [a.id, a] }.to_h
@accounts = results.map { |f| accounts[f.target_account_id] }
set_account_counters_maps(@accounts)
next_path = api_v1_blocks_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT
prev_path = api_v1_blocks_url(since_id: results.first.id) unless results.empty?
set_pagination_headers(next_path, prev_path)
end
end
module Api::OembedHelper
end
module Api::V1::FollowRequestsHelper
end
# frozen_string_literal: true
module AuthorizeFollowHelper
end
......@@ -10,7 +10,7 @@ module StreamEntriesHelper
end
def avatar_for_status_url(status)
status.reblog? ? status.reblog.account.avatar.url( :original) : status.account.avatar.url( :original)
status.reblog? ? status.reblog.account.avatar.url(:original) : status.account.avatar.url(:original)
end
def entry_classes(status, is_predecessor, is_successor, include_threads)
......
# frozen_string_literal: true
class Block < ApplicationRecord
include Paginable
include Streamable
belongs_to :account
......
collection @accounts
extends 'api/v1/accounts/show'
......@@ -2,7 +2,7 @@
class ProcessingWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body)
......
......@@ -2,7 +2,7 @@
class SalmonWorker
include Sidekiq::Worker
sidekiq_options backtrace: true
def perform(account_id, body)
......
......@@ -100,6 +100,7 @@ Rails.application.routes.draw do
resources :follows, only: [:create]
resources :media, only: [:create]
resources :apps, only: [:create]
resources :blocks, only: [:index]
resources :follow_requests, only: [:index] do
member do
......
......@@ -7,7 +7,6 @@ RSpec.describe Api::V1::AccountsController, type: :controller do
let(:token) { double acceptable?: true, resource_owner_id: user.id }
before do
stub_request(:post, "https://pubsubhubbub.superfeedr.com/").to_return(:status => 200, :body => "", :headers => {})
allow(controller).to receive(:doorkeeper_token) { token }
end
......
require 'rails_helper'
RSpec.describe Api::V1::BlocksController, type: :controller do
render_views
let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
let(:token) { double acceptable?: true, resource_owner_id: user.id }
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
describe 'GET #index' do
it 'returns http success' do
get :index
expect(response).to have_http_status(:success)
end
end
end
......@@ -6,7 +6,6 @@ RSpec.describe Api::V1::TimelinesController, type: :controller do
let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
before do
stub_request(:post, "https://pubsubhubbub.superfeedr.com/").to_return(:status => 200, :body => "", :headers => {})
allow(controller).to receive(:doorkeeper_token) { token }
end
......
require 'rails_helper'
RSpec.describe Api::OembedHelper, type: :helper do
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment