forked from Gitlink/forgeplus
26 lines
785 B
Ruby
26 lines
785 B
Ruby
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 |