26 lines
		
	
	
		
			694 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			694 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module Gitlab
 | 
						|
  module Usage
 | 
						|
    module TimeFrame
 | 
						|
      ALL_TIME_TIME_FRAME_NAME = "all"
 | 
						|
      SEVEN_DAYS_TIME_FRAME_NAME = "7d"
 | 
						|
      TWENTY_EIGHT_DAYS_TIME_FRAME_NAME = "28d"
 | 
						|
 | 
						|
      def weekly_time_range
 | 
						|
        { start_date: 7.days.ago.to_date, end_date: Date.current }
 | 
						|
      end
 | 
						|
 | 
						|
      def monthly_time_range
 | 
						|
        { start_date: 4.weeks.ago.to_date, end_date: Date.current }
 | 
						|
      end
 | 
						|
 | 
						|
      # This time range is skewed for batch counter performance.
 | 
						|
      # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42972
 | 
						|
      def monthly_time_range_db_params(column: :created_at)
 | 
						|
        { column => 30.days.ago..2.days.ago }
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |