diff options
-rw-r--r-- | app/controllers/projects/clusters/applications_controller.rb | 14 | ||||
-rw-r--r-- | app/models/clusters/applications/helm.rb | 2 | ||||
-rw-r--r-- | app/workers/concerns/cluster_app.rb | 2 | ||||
-rw-r--r-- | config/routes/project.rb | 4 |
4 files changed, 9 insertions, 13 deletions
diff --git a/app/controllers/projects/clusters/applications_controller.rb b/app/controllers/projects/clusters/applications_controller.rb index 438e1853435..cdebbdefb3f 100644 --- a/app/controllers/projects/clusters/applications_controller.rb +++ b/app/controllers/projects/clusters/applications_controller.rb @@ -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 diff --git a/app/models/clusters/applications/helm.rb b/app/models/clusters/applications/helm.rb index 59e0076c8df..a18a3f87bc4 100644 --- a/app/models/clusters/applications/helm.rb +++ b/app/models/clusters/applications/helm.rb @@ -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 diff --git a/app/workers/concerns/cluster_app.rb b/app/workers/concerns/cluster_app.rb index a0202901f15..947cdaefcb7 100644 --- a/app/workers/concerns/cluster_app.rb +++ b/app/workers/concerns/cluster_app.rb @@ -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 diff --git a/config/routes/project.rb b/config/routes/project.rb index a6a7c5e7482..55dab840dca 100644 --- a/config/routes/project.rb +++ b/config/routes/project.rb @@ -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 |