diff --git a/lib/travis/api/v3/query.rb b/lib/travis/api/v3/query.rb index 2c45d993..6cf049ab 100644 --- a/lib/travis/api/v3/query.rb +++ b/lib/travis/api/v3/query.rb @@ -26,9 +26,10 @@ module Travis::API::V3 attr_reader :params, :main_type - def initialize(params, main_type) + def initialize(params, main_type, includes = nil) @params = params @main_type = main_type.to_s + @includes = includes end def perform_async(identifier, *args) diff --git a/lib/travis/api/v3/renderer/model_renderer.rb b/lib/travis/api/v3/renderer/model_renderer.rb index aa9879cd..491aa627 100644 --- a/lib/travis/api/v3/renderer/model_renderer.rb +++ b/lib/travis/api/v3/renderer/model_renderer.rb @@ -57,6 +57,10 @@ module Travis::API::V3 include.include?(field) end + def query(type) + Queries[type].new({}, type, includes: include) + end + def render(representation) if included.include? model return REDUNDANT unless href diff --git a/lib/travis/api/v3/renderer/owner.rb b/lib/travis/api/v3/renderer/owner.rb index ead5edc0..d4cbd344 100644 --- a/lib/travis/api/v3/renderer/owner.rb +++ b/lib/travis/api/v3/renderer/owner.rb @@ -17,7 +17,8 @@ module Travis::API::V3 end def repositories - access_control.visible_repositories(@model.repositories) + repositories = query(:repositories).for_owner(@model) + access_control.visible_repositories(repositories) end end end