summaryrefslogtreecommitdiff
path: root/app/controllers/projects/environments_controller.rb
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-02-07 15:06:31 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-02-09 14:39:50 +0100
commit19bac884c67acebcc0e6dda2a3df824049b1f726 (patch)
tree77aeca8f6cba7c7617d0c113dd1e018423e784a5 /app/controllers/projects/environments_controller.rb
parentd6ae01da55bc8e0903c9ff13211d2e5dd29bff1f (diff)
downloadgitlab-ce-19bac884c67acebcc0e6dda2a3df824049b1f726.tar.gz
Add route for environment folder and expose an API
Diffstat (limited to 'app/controllers/projects/environments_controller.rb')
-rw-r--r--app/controllers/projects/environments_controller.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb
index 2252ece68ce..3b7240d8469 100644
--- a/app/controllers/projects/environments_controller.rb
+++ b/app/controllers/projects/environments_controller.rb
@@ -28,6 +28,24 @@ class Projects::EnvironmentsController < Projects::ApplicationController
end
end
+ def folder
+ @environments = project.environments
+ .where(environment_type: params[:id])
+ .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),
+ }
+ end
+ end
+ end
+
def show
@deployments = environment.deployments.order(id: :desc).page(params[:page])
end