diff options
| -rw-r--r-- | app/controllers/projects/clusters_controller.rb | 31 | ||||
| -rw-r--r-- | app/serializers/cluster_entity.rb | 6 | ||||
| -rw-r--r-- | app/serializers/cluster_serializer.rb | 7 | 
3 files changed, 34 insertions, 10 deletions
| diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index 1b6165def51..8d07f695e78 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -46,10 +46,9 @@ class Projects::ClustersController < Projects::ApplicationController        format.json do          Gitlab::PollingInterval.set_header(response, interval: 10_000) -        render json: { -          status: cluster.status, # The current status of the operation. -          status_reason: cluster.status_reason # If an error has occurred, a textual description of the error. -        } +        render json: ClusterSerializer +          .new(project: @project, current_user: @current_user) +          .represent_status(@cluster)        end      end    end @@ -62,7 +61,15 @@ class Projects::ClustersController < Projects::ApplicationController        .new(project, current_user, cluster_params)        .execute(cluster) -    render :show +    respond_to do |format| +      format.html do +        render :show +      end + +      format.json do +        head :no_data +      end +    end    end    def destroy @@ -80,9 +87,13 @@ class Projects::ClustersController < Projects::ApplicationController    end    def cluster_params -    params.require(:cluster) -      .permit(:gcp_project_id, :gcp_cluster_zone, :gcp_cluster_name, :gcp_cluster_size, -              :gcp_machine_type, :project_namespace, :enabled) +    params.require(:cluster).permit(:gcp_project_id, +      :gcp_cluster_zone, +      :gcp_cluster_name, +      :gcp_cluster_size, +      :gcp_machine_type, +      :project_namespace, +      :enabled)    end    def authorize_google_api @@ -103,10 +114,10 @@ class Projects::ClustersController < Projects::ApplicationController    end    def authorize_update_cluster! -    return access_denied! unless can?(current_user, :update_cluster, cluster) +    access_denied! unless can?(current_user, :update_cluster, cluster)    end    def authorize_admin_cluster! -    return access_denied! unless can?(current_user, :admin_cluster, cluster) +    access_denied! unless can?(current_user, :admin_cluster, cluster)    end  end diff --git a/app/serializers/cluster_entity.rb b/app/serializers/cluster_entity.rb new file mode 100644 index 00000000000..ca0ee8952e2 --- /dev/null +++ b/app/serializers/cluster_entity.rb @@ -0,0 +1,6 @@ +class ClusterEntity < Grape::Entity +  include RequestAwareEntity + +  expose :status +  expose :status_reason +end diff --git a/app/serializers/cluster_serializer.rb b/app/serializers/cluster_serializer.rb new file mode 100644 index 00000000000..2c87202a105 --- /dev/null +++ b/app/serializers/cluster_serializer.rb @@ -0,0 +1,7 @@ +class ClusterSerializer < BaseSerializer +  entity ClusterEntity + +  def represent_status(resource) +    represent(resource, { only: [:status, :status_reason] }) +  end +end | 
