Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/environments.rb')
-rw-r--r--lib/api/environments.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/api/environments.rb b/lib/api/environments.rb
index 11f1cab0c72..c4b67f83941 100644
--- a/lib/api/environments.rb
+++ b/lib/api/environments.rb
@@ -22,16 +22,15 @@ module API
use :pagination
optional :name, type: String, desc: 'Returns the environment with this name'
optional :search, type: String, desc: 'Returns list of environments matching the search criteria'
+ optional :states, type: String, values: Environment.valid_states.map(&:to_s), desc: 'List all environments that match a specific state'
mutually_exclusive :name, :search, message: 'cannot be used together'
end
get ':id/environments' do
authorize! :read_environment, user_project
- environments = ::Environments::EnvironmentsFinder.new(user_project, current_user, params).execute
+ environments = ::Environments::EnvironmentsFinder.new(user_project, current_user, declared_params(include_missing: false)).execute
present paginate(environments), with: Entities::Environment, current_user: current_user
- rescue ::Environments::EnvironmentsFinder::InvalidStatesError => exception
- bad_request!(exception.message)
end
desc 'Creates a new environment' do
@@ -129,14 +128,14 @@ module API
end
params do
requires :environment_id, type: Integer, desc: 'The environment ID'
+ optional :force, type: Boolean, default: false
end
post ':id/environments/:environment_id/stop' do
authorize! :read_environment, user_project
environment = user_project.environments.find(params[:environment_id])
- authorize! :stop_environment, environment
-
- environment.stop_with_actions!(current_user)
+ ::Environments::StopService.new(user_project, current_user, declared_params(include_missing: false))
+ .execute(environment)
status 200
present environment, with: Entities::Environment, current_user: current_user