diff options
author | Filipa Lacerda <lacerda.filipa@gmail.com> | 2017-02-16 12:30:18 +0000 |
---|---|---|
committer | Filipa Lacerda <lacerda.filipa@gmail.com> | 2017-02-16 12:30:18 +0000 |
commit | ea7c7769570f2c9a371ace7a655082a95457aa5f (patch) | |
tree | 7912ebf580498a662f5fbba1085faf6d5b0e630f /app/controllers | |
parent | edecab2041c1be24f430bc4ab6615116273b6659 (diff) | |
parent | 13615ef80da5b53c4c605878011e5998daf314f2 (diff) | |
download | gitlab-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.rb | 35 |
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 |