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})'
|
route '/owner/({owner.login}|{user.login}|{organization.login})'
|
||||||
get :find
|
get :find
|
||||||
get :repositories, '/repos'
|
get :repositories, '/repos'
|
||||||
|
get :pending_jobs, '/queue'
|
||||||
end
|
end
|
||||||
|
|
||||||
resource :repository do
|
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