2015-08-03 15:09:04 +03:00
|
|
|
require "app/api2/helpers/version_2"
|
2015-07-30 15:37:43 +03:00
|
|
|
require_relative "request_parser"
|
|
|
|
|
|
|
|
|
|
module Devops
|
|
|
|
|
module API2_0
|
|
|
|
|
module Parser
|
|
|
|
|
class ProjectParser < RequestParser
|
|
|
|
|
|
2015-08-03 15:09:04 +03:00
|
|
|
include Devops::API2_0::Helpers
|
|
|
|
|
|
|
|
|
|
def projects
|
|
|
|
|
fields = []
|
|
|
|
|
if @params.key?("fields") and @params["fields"].is_a?(Array)
|
|
|
|
|
Devops::Model::Project.fields.each do |k|
|
|
|
|
|
fields.push k if @params["fields"].include?(k)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
fields
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def archived_projects
|
|
|
|
|
@params.include?("archived")
|
|
|
|
|
end
|
|
|
|
|
|
2015-07-30 15:37:43 +03:00
|
|
|
def project_servers
|
|
|
|
|
@params[:deploy_env]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def project_stacks
|
|
|
|
|
@params[:deploy_env]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def create_project
|
|
|
|
|
body = create_object_from_json_body
|
|
|
|
|
check_string(body["name"], "Parameter 'name' must be a not empty string")
|
|
|
|
|
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
2015-08-04 12:36:10 +03:00
|
|
|
check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
2015-07-30 15:37:43 +03:00
|
|
|
Devops::Model::Project.new(body)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def update
|
|
|
|
|
body = create_object_from_json_body
|
|
|
|
|
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
2015-08-04 12:36:10 +03:00
|
|
|
check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
2015-07-30 15:37:43 +03:00
|
|
|
Devops::Model::Project.new(body)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def delete
|
|
|
|
|
body = create_object_from_json_body(Hash, true)
|
|
|
|
|
deploy_env = unless body.nil?
|
|
|
|
|
check_string(body["deploy_env"], "Parameter 'deploy_env' 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")
|
|
|
|
|
deploy_env = check_string(body["deploy_env"], "Parameter 'deploy_env' must be a not empty string", true)
|
|
|
|
|
return deploy_env, users
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def run_list
|
|
|
|
|
list = create_object_from_json_body(Array)
|
|
|
|
|
check_array(list, "Body must contains not empty array of strings")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def deploy
|
|
|
|
|
obj = create_object_from_json_body
|
|
|
|
|
deploy_env = check_string(obj["deploy_env"], "Parameter 'deploy_env' 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 deploy_env, servers
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|