v3: add account permissions

This commit is contained in:
Konstantin Haase 2015-04-29 14:14:21 +02:00
parent 429ad3fc6b
commit 21aa667b9c
6 changed files with 30 additions and 0 deletions

View File

@ -43,6 +43,10 @@ module Travis::API::V3
protected
def account_visible?(account)
user and account.members.include?(user)
end
def build_visible?(build)
visible? build.repository
end

View File

@ -23,6 +23,20 @@ module Travis::API::V3
subscription.present? and subscription.active?
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 :subscribed, :subscribed?
end

View File

@ -8,5 +8,7 @@ module Travis::API::V3
def subscription
super if Features.use_subscriptions?
end
alias members users
end
end

View File

@ -0,0 +1,6 @@
require 'travis/api/v3/permissions/generic'
module Travis::API::V3
class Permissions::Account < Permissions::Generic
end
end

View File

@ -1,3 +1,5 @@
require 'travis/api/v3/permissions/generic'
module Travis::API::V3
class Permissions::Repository < Permissions::Generic
def enable?

View File

@ -22,6 +22,7 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
"@href" => "/v3/accounts",
"accounts" => [{
"@type" => "account",
"@permissions" => { "read"=>true },
"id" => repo.owner.github_id,
"subscribed" => false,
"educational" => false,
@ -31,6 +32,7 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
"id" => repo.owner_id,
"login" => "svenfuchs" }},
{"@type" => "account",
"@permissions" => { "read"=>true },
"id" => 42,
"subscribed" => false,
"educational" => false,