show user latency json data in admin

This commit is contained in:
Nuwan Chathuranga 2021-06-23 12:51:44 +05:30
parent fc624115b5
commit 6fd1c2ce3b
3 changed files with 30 additions and 1 deletions

View File

@ -26,6 +26,10 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do
action_item :school_user, only: :index do
link_to "Quick Add School User", add_school_user_admin_users_path
end
action_item :latency, only: :show do
link_to 'Show Latency', latency_admin_user_path(resource)
end
collection_action :add_school_user, method: [:get, :post] do
if request.post?
@ -226,9 +230,29 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do
end
member_action :latency, method: :get do
@user = resource
latency_url = "#{Rails.application.config.latency_data_host}/user/#{@user.id}"
uri = URI(latency_url)
begin
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if Rails.application.config.latency_data_host.start_with?("https://")
req = Net::HTTP::Get.new(uri.request_uri)
req["Authorization"] = "Basic #{Rails.application.config.latency_data_host_auth_code}"
req["Content-Type"] = "application/json"
response = http.request(req)
render text: "404 Not Found", status: 404 if response.is_a?(Net::HTTPNotFound)
#render json: response.body, status: 200 if response.is_a?(Net::HTTPOK) || response.is_a?(Net::HTTPSuccess)
@user_latency = response.body
rescue => e
render text: e.message
end
end
show do |user|
panel "Common" do
attributes_table do

View File

@ -0,0 +1,2 @@
<h2><%= @user.name %></h2>
<pre><%= debug @user_latency -%></pre>

View File

@ -169,5 +169,8 @@ module JamAdmin
config.download_tracker_day_range = 30
config.max_user_ip_address = 10
config.max_multiple_users_same_ip = 2
config.latency_data_host = "https://latency-production.naas.jamkazam.com"
config.latency_data_host_auth_code = "amFtQXBpOm5pNWY0eFRjRlpNc0lXNEd4IUR5cQ=="
end
end