Class: Packages::Npm::DeprecatePackageService

Inherits:
BaseService
  • Object
show all
Defined in:
app/services/packages/npm/deprecate_package_service.rb

Defined Under Namespace

Classes: Deprecated

Constant Summary collapse

BATCH_SIZE =
50

Instance Attribute Summary

Attributes inherited from BaseService

#current_user, #params, #project

Instance Method Summary collapse

Methods included from BaseServiceUtility

#deny_visibility_level, #event_service, #log_error, #log_info, #notification_service, #system_hook_service, #todo_service, #visibility_level

Methods included from Gitlab::Allowable

#can?

Constructor Details

#initialize(project, params) ⇒ DeprecatePackageService

Returns a new instance of DeprecatePackageService.



9
10
11
# File 'app/services/packages/npm/deprecate_package_service.rb', line 9

def initialize(project, params)
  super(project, nil, params)
end

Instance Method Details

#execute(async: false) ⇒ Object



13
14
15
16
17
18
19
20
# File 'app/services/packages/npm/deprecate_package_service.rb', line 13

def execute(async: false)
  return ::Packages::Npm::DeprecatePackageWorker.perform_async(project.id, filtered_params) if async

  packages.select(:id, :version).each_batch(of: BATCH_SIZE) do |relation|
    deprecated_metadatum = handle_batch(relation)
    update_metadatum(deprecated_metadatum)
  end
end