|
|
|
@@ -0,0 +1,26 @@ |
|
|
|
class Traces::BaseController < ApplicationController |
|
|
|
|
|
|
|
helper_method :observed_logged_user?, :observed_user |
|
|
|
before_action :check_trace_system |
|
|
|
|
|
|
|
def observed_user |
|
|
|
@_observed_user ||= (User.find_by_login(params[:user_id]) || User.find_by_id(params[:user_id])) |
|
|
|
end |
|
|
|
|
|
|
|
def observed_logged_user? |
|
|
|
observed_user.id == User.current&.id |
|
|
|
end |
|
|
|
|
|
|
|
protected |
|
|
|
def check_auth |
|
|
|
return render_forbidden unless current_user.admin? || observed_logged_user? |
|
|
|
end |
|
|
|
|
|
|
|
def check_trace_system |
|
|
|
code, data, error = Trace::SystemInfoService.call(current_user.trace_token) |
|
|
|
return render_ok({code: 501, data: {operate_time: data['operate_time']}, message: '系统维护中'}) if data['status'] === 0 |
|
|
|
rescue |
|
|
|
# 这里根据需求跳转到404 |
|
|
|
return render_not_found |
|
|
|
end |
|
|
|
end |