Class: DataTransfer::ProjectDataTransferFinder

Inherits:
Object
  • Object
show all
Defined in:
app/finders/data_transfer/project_data_transfer_finder.rb

Instance Method Summary collapse

Constructor Details

#initialize(project:, from:, to:, user:) ⇒ ProjectDataTransferFinder

Returns a new instance of ProjectDataTransferFinder.



5
6
7
8
9
10
# File 'app/finders/data_transfer/project_data_transfer_finder.rb', line 5

def initialize(project:, from:, to:, user:)
  @project = project
  @from = from
  @to = to
  @user = user
end

Instance Method Details

#executeObject



12
13
14
15
16
17
18
19
# File 'app/finders/data_transfer/project_data_transfer_finder.rb', line 12

def execute
  return ::Projects::DataTransfer.none unless Ability.allowed?(user, :read_usage_quotas, project)

  ::Projects::DataTransfer
    .with_project_between_dates(project, from, to)
    .select(:project_id, :date, :repository_egress, :artifacts_egress, :packages_egress, :registry_egress,
      "repository_egress + artifacts_egress + packages_egress + registry_egress as total_egress")
end