Welcome to mirror list, hosted at ThFree Co, Russian Federation.

mark_package_files_for_destruction_service.rb « packages « services « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3672b44b40986b7976ae3d197f8be5861756d998 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

module Packages
  # WARNING: ensure that permissions are verified before using this service.
  class MarkPackageFilesForDestructionService
    BATCH_SIZE = 500

    def initialize(package_files)
      @package_files = package_files
    end

    def execute
      @package_files.each_batch(of: BATCH_SIZE) do |batched_package_files|
        batched_package_files.update_all(status: :pending_destruction)
      end

      service_response_success('Package files are now pending destruction')
    end

    private

    def service_response_success(message)
      ServiceResponse.success(message: message)
    end
  end
end