fluke/devops-service/app/api3/parsers/project.rb
Tim Lianov 03dc3d8d99 v3
2018-04-04 22:44:39 +03:00

123 lines
3.7 KiB
Ruby

require_relative "request_parser"
module Devops
module API3
module Parser
class ProjectParser < RequestParser
include Devops::API3::Helpers
def projects
fields = []
if @params.key?("fields") and @params["fields"].is_a?(Array)
Devops::Model::Project.list_fields.each do |k|
fields.push k if @params["fields"].include?(k)
end
end
fields
end
def archived_projects
@params.include?("archived")
end
def project_servers
@params["environment"]
end
def project_stacks
@params["environment"]
end
def create_project
body = create_object_from_json_body
project = Devops::Model::Project.new(body)
#project.validate!
project
end
def users
create_object_from_json_body(Array)
end
def set_description
body = create_object_from_json_body
body["description"]
end
def set_project_components
c = create_object_from_json_body(Hash)
raise InvalidRecord.new("'components' key not found") if c["components"].nil?
c
end
def add_environment
body = create_object_from_json_body
Devops::Model::Environment.new(body)
end
def update_environment_field
body = create_object_from_json_body
raise InvalidRecord.new("'value' key not found") if body["value"].nil?
body["value"]
end
def update_environment
body = create_object_from_json_body
# rl = check_array(body["run_list"], "Parameter 'run_list' should be an array of string", String, false, true)
# Validators::Helpers::RunList.new(rl).validate!
Devops::Model::EnvironmentFactory.create(body)
end
def update
body = create_object_from_json_body
=begin
check_string(body["description"], "Parameter 'description' must be a string", true, true)
rl = check_array(body["run_list"], "Parameter 'run_list' must be an array of string", String, true, true)
Validators::Helpers::RunList.new(rl).validate! unless rl.nil?
#Devops::Model::Project.new(body)
=end
body
end
def add_category
Devops::Model::Category.new(create_object_from_json_body)
end
def delete
body = create_object_from_json_body(Hash, true)
environment = unless body.nil?
check_string(body["environment"], "Parameter 'environment' should be a not empty string", true)
end
end
def project_users
body = create_object_from_json_body
users = check_array(body["users"], "Parameter 'users' must be a not empty array of strings")
environment = check_string(body["environment"], "Parameter 'environment' must be a not empty string", true)
return environment, users
end
def run_list
list = create_object_from_json_body(Array)
RunListArrayValidator.validate_list(list)
list
end
def deploy
obj = create_object_from_json_body
environment = check_string(obj["environment"], "Parameter 'environment' should be a not empty string", true)
servers = check_array(obj["servers"], "Parameter 'servers' should be a not empty array of strings", String, true)
return environment, servers
end
def delete_project_env_servers
body = create_object_from_json_body
dry_run = check_boolean(body["dry_run"], "Parameter 'dry_run' must be a boolean")
dry_run
end
end
end
end
end