gitlab-org--gitlab-foss/app/controllers/projects/variables_controller.rb
mfluharty 0481d69907
Add control for variable value masking
Show masked switch for each variable
When toggled on, the variable value will be masked in runner logs
Show warning message if the switch is on but the value is not maskable
2019-03-29 12:49:59 -06:00

43 lines
994 B
Ruby

# frozen_string_literal: true
class Projects::VariablesController < Projects::ApplicationController
before_action :authorize_admin_build!
def show
respond_to do |format|
format.json do
render status: :ok, json: { variables: VariableSerializer.new.represent(@project.variables) }
end
end
end
def update
if @project.update(variables_params)
respond_to do |format|
format.json { render_variables }
end
else
respond_to do |format|
format.json { render_error }
end
end
end
private
def render_variables
render status: :ok, json: { variables: VariableSerializer.new.represent(@project.variables) }
end
def render_error
render status: :bad_request, json: @project.errors.full_messages
end
def variables_params
params.permit(variables_attributes: [*variable_params_attributes])
end
def variable_params_attributes
%i[id key secret_value protected masked _destroy]
end
end