diff options
Diffstat (limited to 'app/models/packages/npm/metadata_cache.rb')
-rw-r--r-- | app/models/packages/npm/metadata_cache.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/app/models/packages/npm/metadata_cache.rb b/app/models/packages/npm/metadata_cache.rb index 02efeda69cb..b6ab2a88a98 100644 --- a/app/models/packages/npm/metadata_cache.rb +++ b/app/models/packages/npm/metadata_cache.rb @@ -5,6 +5,9 @@ module Packages class MetadataCache < ApplicationRecord include FileStoreMounter include Packages::Downloadable + include Packages::Destructible + + enum status: { default: 0, processing: 1, error: 3 } belongs_to :project, inverse_of: :npm_metadata_caches @@ -18,6 +21,9 @@ module Packages before_validation :set_object_storage_key attr_readonly :object_storage_key + scope :stale, -> { where(project_id: nil) } + scope :pending_destruction, -> { stale.default } + def self.find_or_build(package_name:, project_id:) find_or_initialize_by( package_name: package_name, |