0481d69907
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
43 lines
994 B
Ruby
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
|