50 lines
1.4 KiB
Ruby
50 lines
1.4 KiB
Ruby
module Devops
|
|
module API3
|
|
module Routes
|
|
module JobTaskRoutes
|
|
|
|
def self.registered(app)
|
|
app.define_policy :read_tasks, "Read tasks"
|
|
|
|
app.get_with_headers "/tasks/all" do
|
|
check_policy(:read_tasks)
|
|
json Devops::API3::Handler::JobTask.new(request).all.map{|r| r.to_hash}
|
|
end
|
|
|
|
app.get_with_headers "/tasks/all/latest" do
|
|
check_policy(:read_tasks)
|
|
json Devops::API3::Handler::JobTask.new(request).all_latest.map{|r| r.to_hash}
|
|
end
|
|
|
|
app.get_with_headers "/tasks/all/attributes/:name" do |name|
|
|
check_policy(:read_tasks)
|
|
json Devops::API3::Handler::JobTask.new(request).attributes(name)
|
|
end
|
|
|
|
app.get "/task/:id" do |id|
|
|
#check_policy(:read_tasks)
|
|
json Devops::API3::Handler::JobTask.new(request).task(id).to_hash
|
|
end
|
|
|
|
app.get "/task/:id/report" do |id|
|
|
#check_policy(:read_tasks)
|
|
@text, @done = Devops::API3::Handler::JobTask.new(request).report(id)
|
|
erb :report
|
|
end
|
|
|
|
app.get "/task/:id/status" do |id|
|
|
#check_policy(:read_tasks)
|
|
r = Devops::API3::Handler::JobTask.new(request).status(id)
|
|
return [404, "Job with id '#{id}' not found"] if r.nil?
|
|
r
|
|
end
|
|
|
|
puts "JobTask routes initialized"
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|