Introduce OAuth scopes for bookmarks

th-downstream
Thibaut Girka 6 years ago committed by ThibG
parent 2107ea78c3
commit 7def9b7026

@ -1,7 +1,7 @@
# frozen_string_literal: true
class Api::V1::BookmarksController < Api::BaseController
before_action -> { doorkeeper_authorize! :read }
before_action -> { doorkeeper_authorize! :read, :'read:bookmarks' }
before_action :require_user!
after_action :insert_pagination_headers

@ -3,7 +3,7 @@
class Api::V1::Statuses::BookmarksController < Api::BaseController
include Authorization
before_action -> { doorkeeper_authorize! :write }
before_action -> { doorkeeper_authorize! :write, :'write:bookmarks' }
before_action :require_user!
respond_to :json

@ -58,6 +58,7 @@ Doorkeeper.configure do
optional_scopes :write,
:'write:accounts',
:'write:blocks',
:'write:bookmarks',
:'write:favourites',
:'write:filters',
:'write:follows',
@ -70,6 +71,7 @@ Doorkeeper.configure do
:read,
:'read:accounts',
:'read:blocks',
:'read:bookmarks',
:'read:favourites',
:'read:filters',
:'read:follows',

@ -119,6 +119,7 @@ en:
read: read all your account's data
read:accounts: see accounts information
read:blocks: see your blocks
read:bookmarks: see your bookmarks
read:favourites: see your favourites
read:filters: see your filters
read:follows: see your follows
@ -131,6 +132,7 @@ en:
write: modify all your account's data
write:accounts: modify your profile
write:blocks: block accounts and domains
write:bookmarks: bookmark statuses
write:favourites: favourite statuses
write:filters: create filters
write:follows: follow people

@ -4,7 +4,7 @@ RSpec.describe Api::V1::BookmarksController, type: :controller do
render_views
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read') }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:bookmarks') }
describe 'GET #index' do
context 'without token' do

@ -7,7 +7,7 @@ describe Api::V1::Statuses::BookmarksController do
let(:user) { Fabricate(:user, account: Fabricate(:account, username: 'alice')) }
let(:app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write', application: app) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'write:bookmarks', application: app) }
context 'with an oauth token' do
before do

Loading…
Cancel
Save