v3: add account permissions
This commit is contained in:
parent
429ad3fc6b
commit
21aa667b9c
|
@ -43,6 +43,10 @@ module Travis::API::V3
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
|
def account_visible?(account)
|
||||||
|
user and account.members.include?(user)
|
||||||
|
end
|
||||||
|
|
||||||
def build_visible?(build)
|
def build_visible?(build)
|
||||||
visible? build.repository
|
visible? build.repository
|
||||||
end
|
end
|
||||||
|
|
|
@ -23,6 +23,20 @@ module Travis::API::V3
|
||||||
subscription.present? and subscription.active?
|
subscription.present? and subscription.active?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def members
|
||||||
|
@members ||= if owner.respond_to? :members
|
||||||
|
owner.members
|
||||||
|
else
|
||||||
|
[owner]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def reload
|
||||||
|
@members = nil
|
||||||
|
owner.reload
|
||||||
|
self
|
||||||
|
end
|
||||||
|
|
||||||
alias_method :educational, :educational?
|
alias_method :educational, :educational?
|
||||||
alias_method :subscribed, :subscribed?
|
alias_method :subscribed, :subscribed?
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,5 +8,7 @@ module Travis::API::V3
|
||||||
def subscription
|
def subscription
|
||||||
super if Features.use_subscriptions?
|
super if Features.use_subscriptions?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
alias members users
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
6
lib/travis/api/v3/permissions/account.rb
Normal file
6
lib/travis/api/v3/permissions/account.rb
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
require 'travis/api/v3/permissions/generic'
|
||||||
|
|
||||||
|
module Travis::API::V3
|
||||||
|
class Permissions::Account < Permissions::Generic
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,3 +1,5 @@
|
||||||
|
require 'travis/api/v3/permissions/generic'
|
||||||
|
|
||||||
module Travis::API::V3
|
module Travis::API::V3
|
||||||
class Permissions::Repository < Permissions::Generic
|
class Permissions::Repository < Permissions::Generic
|
||||||
def enable?
|
def enable?
|
||||||
|
|
|
@ -22,6 +22,7 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
|
||||||
"@href" => "/v3/accounts",
|
"@href" => "/v3/accounts",
|
||||||
"accounts" => [{
|
"accounts" => [{
|
||||||
"@type" => "account",
|
"@type" => "account",
|
||||||
|
"@permissions" => { "read"=>true },
|
||||||
"id" => repo.owner.github_id,
|
"id" => repo.owner.github_id,
|
||||||
"subscribed" => false,
|
"subscribed" => false,
|
||||||
"educational" => false,
|
"educational" => false,
|
||||||
|
@ -31,6 +32,7 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
|
||||||
"id" => repo.owner_id,
|
"id" => repo.owner_id,
|
||||||
"login" => "svenfuchs" }},
|
"login" => "svenfuchs" }},
|
||||||
{"@type" => "account",
|
{"@type" => "account",
|
||||||
|
"@permissions" => { "read"=>true },
|
||||||
"id" => 42,
|
"id" => 42,
|
||||||
"subscribed" => false,
|
"subscribed" => false,
|
||||||
"educational" => false,
|
"educational" => false,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user