2015-07-23 16:56:51 +03:00
|
|
|
require_relative "request_handler"
|
|
|
|
|
|
2015-06-30 14:27:42 +03:00
|
|
|
module Devops
|
2015-07-27 11:14:01 +03:00
|
|
|
module API2_0
|
2015-06-30 14:27:42 +03:00
|
|
|
module Handler
|
2015-07-23 16:56:51 +03:00
|
|
|
class Report < RequestHandler
|
|
|
|
|
|
|
|
|
|
def options
|
2015-07-30 15:37:43 +03:00
|
|
|
params = @request.params
|
2015-07-23 16:56:51 +03:00
|
|
|
options = {}
|
|
|
|
|
["project", "deploy_env", "type", "created_by", "date_from", "date_to", "sort", "status", "chef_node_name", "max_number"].each do |k|
|
2015-07-30 15:37:43 +03:00
|
|
|
options[k] = params[k] unless params[k].nil?
|
2015-07-23 16:56:51 +03:00
|
|
|
end
|
2015-07-30 15:37:43 +03:00
|
|
|
#attributes_keys = params.keys.select{|k| k =~ /attributes\.*/}
|
|
|
|
|
#attributes_keys.each do |ak|
|
|
|
|
|
# options[ak] = params[ak]
|
|
|
|
|
#end
|
2015-07-23 16:56:51 +03:00
|
|
|
options
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def all
|
|
|
|
|
Devops::Db.connector.reports(options)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def all_latest
|
|
|
|
|
Devops::Db.connector.latest_reports(options())
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def attributes name
|
|
|
|
|
Devops::Db.connector.reports_attributes_values(name)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def report id
|
|
|
|
|
r = Devops::Db.connector.report(id)
|
|
|
|
|
file = r.file
|
|
|
|
|
raise RecordNotFound.new("Report '#{id}' does not exist") unless File.exists? file
|
|
|
|
|
return Rack::Utils.escape_html(File.read(file)), completed?(id)
|
|
|
|
|
rescue RecordNotFound => e
|
|
|
|
|
if status(id) == Worker::STATUS::IN_QUEUE
|
|
|
|
|
return "Task '#{id}' has been queued", false
|
|
|
|
|
else
|
|
|
|
|
raise e
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def status id
|
|
|
|
|
Sidekiq.redis do |connection|
|
|
|
|
|
connection.hget("devops", id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def completed? id
|
|
|
|
|
r = self.status(id)
|
|
|
|
|
r == "completed" or r == "failed"
|
|
|
|
|
end
|
|
|
|
|
|
2015-06-30 14:27:42 +03:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|