forked from Gitlink/forgeplus
32 lines
820 B
Ruby
32 lines
820 B
Ruby
class Blockchain::BalanceQuery < ApplicationQuery
|
|
|
|
attr_reader :params, :is_current_admin_user
|
|
|
|
def initialize(params,is_current_admin_user)
|
|
@params = params
|
|
@is_current_admin_user = is_current_admin_user
|
|
end
|
|
|
|
def call
|
|
if is_current_admin_user
|
|
token_list = find_repo_with_token(params["user_id"])
|
|
result_list = []
|
|
token_list.each do |t|
|
|
project = Project.find_by(id: t['token_name'].to_i)
|
|
if project.nil?
|
|
next
|
|
end
|
|
owner = User.find_by(id: project.user_id)
|
|
if owner.nil? || project.nil?
|
|
else
|
|
balance = t['balance']
|
|
result_list << [owner, project, balance]
|
|
end
|
|
end
|
|
results = {"status": 0, "projects": result_list}
|
|
else
|
|
results = {"status": 1} # query failed
|
|
end
|
|
end
|
|
end
|