Fix and add applications controller

This commit is contained in:
Kamil Trzcinski 2017-11-02 15:31:25 +01:00
parent 64be8d70ae
commit 30938b898c
4 changed files with 9 additions and 13 deletions

View File

@ -4,18 +4,14 @@ class Projects::Clusters::ApplicationsController < Projects::ApplicationControll
before_action :authorize_read_cluster!
before_action :authorize_create_cluster!, only: [:create]
def new
end
def create
return render_404 if application
new_application = application_class.create(cluster: cluster)
respond_to do |format|
format.json do
if new_application.persisted?
head :ok
# TODO: Do that via Service
if application_class.create(cluster: cluster).persisted?
head :no_data
else
head :bad_request
end
@ -26,11 +22,11 @@ class Projects::Clusters::ApplicationsController < Projects::ApplicationControll
private
def cluster
@cluster ||= project.clusters.find_by(cluster_id: params[:cluster_id]).present(current_user: current_user)
@cluster ||= project.clusters.find(params[:id]) || render_404
end
def application_class
Clusters::Cluster::Applications.find(params[:application])
Clusters::Cluster::APPLICATIONS[params[:application]] || render_404
end
def application

View File

@ -7,7 +7,7 @@ module Clusters
include ::Clusters::Concerns::AppStatus
belongs_to :cluser, class_name: 'Clusters::Cluster', foreign_key: :cluster_id
belongs_to :cluster, class_name: 'Clusters::Cluster', foreign_key: :cluster_id
default_value_for :version, Gitlab::Clusters::Helm::HELM_VERSION

View File

@ -3,7 +3,7 @@ module ClusterApp
included do
def find_app(app_name, id)
Clusters::Applications.const_get(app_name.classify).find(id).try do |app|
Clusters::Cluster::APPLICATIONS[app_name].find(id).try do |app|
yield(app) if block_given?
end
end

View File

@ -191,8 +191,8 @@ constraints(ProjectUrlConstrainer.new) do
member do
get :status, format: :json
scope '*application' do
resource :applications, only: [:create]
scope :applications do
get '/*application', to: 'clusters/applications#create'
end
end
end