* admin controllers i18n * remove ja.yml * fix for spec * fix for spec 2 * Apply suggestions from code review Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> * Update config/locales/controllers/admin/fr.yml Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com> Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
41 lines
1.3 KiB
Ruby
41 lines
1.3 KiB
Ruby
module Admin
|
|
class SecretsController < Admin::ApplicationController
|
|
layout "admin"
|
|
|
|
before_action :validate_settable_secret, only: [:update]
|
|
after_action only: [:update] do
|
|
Audit::Logger.log(:internal, current_user, params.dup)
|
|
end
|
|
|
|
def index
|
|
@vault_enabled = AppSecrets.vault_enabled?
|
|
@secrets = AppSecrets::SETTABLE_SECRETS.map do |key|
|
|
secret_value = AppSecrets[key]
|
|
secret_value = if secret_value.present?
|
|
I18n.t("admin.secrets_controller.value",
|
|
first8: secret_value.first(8))
|
|
else
|
|
I18n.t("admin.secrets_controller.not_in_vault")
|
|
end
|
|
[key, secret_value]
|
|
end
|
|
end
|
|
|
|
def update
|
|
AppSecrets[params[:key_name]] = params[:key_value]
|
|
|
|
flash[:success] =
|
|
I18n.t("admin.secrets_controller.updated", key: params[:key_name])
|
|
redirect_to admin_secrets_path
|
|
end
|
|
|
|
private
|
|
|
|
def validate_settable_secret
|
|
update_param = params.permit(*AppSecrets::SETTABLE_SECRETS)
|
|
params[:key_name], params[:key_value] = update_param.to_h.to_a.first
|
|
|
|
bad_request unless update_param.present? && params[:key_name].is_a?(String) && params[:key_value].is_a?(String)
|
|
end
|
|
end
|
|
end
|