v3: add @permissions to organization payload

This commit is contained in:
Konstantin Haase 2015-04-29 14:28:33 +02:00
parent 21aa667b9c
commit 2094b50553
5 changed files with 58 additions and 38 deletions

View File

@ -25,6 +25,10 @@ module Travis::API::V3
protected protected
def organization_writable?(organization)
organization.members.include? user
end
def repository_writable?(repository) def repository_writable?(repository)
permission?(:push, repository) permission?(:push, repository)
end end

View File

@ -0,0 +1,9 @@
require 'travis/api/v3/permissions/generic'
module Travis::API::V3
class Permissions::Organization < Permissions::Generic
def sync?
write?
end
end
end

View File

@ -11,6 +11,7 @@ describe Travis::API::V3::Services::Organization::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,

View File

@ -23,6 +23,7 @@ describe Travis::API::V3::Services::Organizations::ForCurrentUser do
"organizations" => [{ "organizations" => [{
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>true },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,

View File

@ -12,6 +12,7 @@ describe Travis::API::V3::Services::Owner::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,
@ -31,6 +32,7 @@ describe Travis::API::V3::Services::Owner::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,
@ -73,6 +75,7 @@ describe Travis::API::V3::Services::Owner::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,
@ -110,6 +113,7 @@ describe Travis::API::V3::Services::Owner::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,
@ -128,6 +132,7 @@ describe Travis::API::V3::Services::Owner::Find do
example { expect(JSON.load(body)).to be == { example { expect(JSON.load(body)).to be == {
"@type" => "organization", "@type" => "organization",
"@href" => "/v3/org/#{org.id}", "@href" => "/v3/org/#{org.id}",
"@permissions" => { "read"=>true, "sync"=>false },
"id" => org.id, "id" => org.id,
"login" => "example-org", "login" => "example-org",
"name" => nil, "name" => nil,