v3: start working on jobs api
This commit is contained in:
parent
0cdecaade3
commit
ce521f0277
14
lib/travis/api/v3/queries/jobs.rb
Normal file
14
lib/travis/api/v3/queries/jobs.rb
Normal file
|
@ -0,0 +1,14 @@
|
|||
module Travis::API::V3
|
||||
class Queries::Jobs < Query
|
||||
PENDING = %w[started queued created]
|
||||
private_constant :PENDING
|
||||
|
||||
def pending(*repos)
|
||||
for_owner(owner, state: PENDING)
|
||||
end
|
||||
|
||||
def for_repos(*repos, **filters)
|
||||
Models::Job.where(repository_id: repos.map(&:id), **filters)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -12,6 +12,7 @@ module Travis::API::V3
|
|||
route '/owner/({owner.login}|{user.login}|{organization.login})'
|
||||
get :find
|
||||
get :repositories, '/repos'
|
||||
get :pending_jobs, '/queue'
|
||||
end
|
||||
|
||||
resource :repository do
|
||||
|
|
11
lib/travis/api/v3/services/owner/pending_jobs.rb
Normal file
11
lib/travis/api/v3/services/owner/pending_jobs.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
module Travis::API::V3
|
||||
class Services::Owner::PendingJobs < Service
|
||||
result_type :jobs
|
||||
|
||||
def run!
|
||||
unfiltered = query(:repositories).for_owner(find(:owner))
|
||||
repositories = access_control.visible_repositories(unfiltered)
|
||||
query(:jobs).pending(*repositories)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user