forgeplus/app/controllers/users/headmaps_controller.rb

36 lines
1.0 KiB
Ruby
Raw Permalink Normal View History

2021-05-27 10:30:34 +08:00
class Users::HeadmapsController < Users::BaseController
def index
2023-03-22 18:04:35 +08:00
result = Gitea::User::HeadmapService.call(observed_user.login, start_stamp, end_stamp, observed_user&.gitea_token)
@headmaps = result[2].blank? ? [] : result[2]
2023-03-31 11:18:58 +08:00
headmaps_result = {}
@headmaps.each do |entry|
date = Time.at(entry["timestamp"]).strftime("%Y-%m-%d")
if headmaps_result[date].nil?
headmaps_result[date] = { "contributions" => entry["contributions"] }
else
headmaps_result[date]["contributions"] += entry["contributions"]
end
end
@headmaps = headmaps_result
2021-05-27 10:30:34 +08:00
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
end
private
def start_stamp
if params[:year].present?
2023-02-22 10:48:23 +08:00
Date.new(params[:year].to_i, 1).to_time.to_i
2021-05-27 10:30:34 +08:00
else
2023-02-22 10:48:23 +08:00
(Date.today - 1.years).to_time.to_i
2021-05-27 10:30:34 +08:00
end
end
def end_stamp
if params[:year].present?
2023-03-31 11:18:58 +08:00
(Date.new(params[:year].to_i, 1) + 1.years).to_time.end_of_day.to_i
2021-05-27 10:30:34 +08:00
else
2023-03-31 11:18:58 +08:00
Date.today.to_time.end_of_day.to_i
2021-05-27 10:30:34 +08:00
end
end
end