forked from Gitlink/forgeplus
34 lines
652 B
Ruby
34 lines
652 B
Ruby
class Statistic::ActiveProjectRankQuery < ApplicationQuery
|
|
attr_reader :params, :user
|
|
|
|
def initialize(params, user)
|
|
@params = params
|
|
@user = user
|
|
end
|
|
|
|
def call
|
|
begin
|
|
result = Gitea::Activity::ProjectService.call(start_time, end_time, top, user.gitea_token)
|
|
|
|
return result["project"]
|
|
rescue
|
|
return []
|
|
end
|
|
end
|
|
|
|
private
|
|
def start_time
|
|
params.fetch(:start_time, Time.now.beginning_of_day.to_i).to_i
|
|
end
|
|
|
|
def end_time
|
|
params.fetch(:end_time, Time.now.to_i).to_i
|
|
end
|
|
|
|
def top
|
|
top = params.fetch(:top, 5).to_i
|
|
top = top >= 20 ? 20 : top
|
|
top = top <= 0 ? 5 : top
|
|
top
|
|
end
|
|
end |