summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorFilipa Lacerda <lacerda.filipa@gmail.com>2017-02-16 12:30:18 +0000
committerFilipa Lacerda <lacerda.filipa@gmail.com>2017-02-16 12:30:18 +0000
commitea7c7769570f2c9a371ace7a655082a95457aa5f (patch)
tree7912ebf580498a662f5fbba1085faf6d5b0e630f /app/controllers
parentedecab2041c1be24f430bc4ab6615116273b6659 (diff)
parent13615ef80da5b53c4c605878011e5998daf314f2 (diff)
downloadgitlab-ce-ea7c7769570f2c9a371ace7a655082a95457aa5f.tar.gz
Merge branch 'fe-paginated-environments-api' into 'paginate-environments-bundle' paginate-environments-bundle
Integrate with new environments API See merge request !8954
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/projects/environments_controller.rb35
1 files changed, 30 insertions, 5 deletions
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb
index 0ec8f5bd64a..fed75396d6e 100644
--- a/app/controllers/projects/environments_controller.rb
+++ b/app/controllers/projects/environments_controller.rb
@@ -9,15 +9,40 @@ class Projects::EnvironmentsController < Projects::ApplicationController
before_action :verify_api_request!, only: :terminal_websocket_authorize
def index
- @scope = params[:scope]
- @environments = project.environments.includes(:last_deployment)
+ @environments = project.environments
+ .with_state(params[:scope] || :available)
respond_to do |format|
format.html
format.json do
- render json: EnvironmentSerializer
- .new(project: @project, user: current_user)
- .represent(@environments)
+ render json: {
+ environments: EnvironmentSerializer
+ .new(project: @project, user: @current_user)
+ .with_pagination(request, response)
+ .within_folders
+ .represent(@environments),
+ available_count: project.environments.available.count,
+ stopped_count: project.environments.stopped.count
+ }
+ end
+ end
+ end
+
+ def folder
+ folder_environments = project.environments.where(environment_type: params[:id])
+ @environments = folder_environments.with_state(params[:scope] || :available)
+
+ respond_to do |format|
+ format.html
+ format.json do
+ render json: {
+ environments: EnvironmentSerializer
+ .new(project: @project, user: @current_user)
+ .with_pagination(request, response)
+ .represent(@environments),
+ available_count: folder_environments.available.count,
+ stopped_count: folder_environments.stopped.count
+ }
end
end
end