summaryrefslogtreecommitdiff
path: root/app/models/packages/composer/cache_file.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/packages/composer/cache_file.rb')
-rw-r--r--app/models/packages/composer/cache_file.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/models/packages/composer/cache_file.rb b/app/models/packages/composer/cache_file.rb
new file mode 100644
index 00000000000..ecd7596b989
--- /dev/null
+++ b/app/models/packages/composer/cache_file.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module Packages
+ module Composer
+ class CacheFile < ApplicationRecord
+ include FileStoreMounter
+
+ self.table_name = 'packages_composer_cache_files'
+
+ mount_file_store_uploader Packages::Composer::CacheUploader
+
+ belongs_to :group, -> { where(type: 'Group') }, foreign_key: 'namespace_id'
+ belongs_to :namespace
+
+ validates :namespace, presence: true
+
+ scope :with_namespace, ->(namespace) { where(namespace: namespace) }
+ scope :with_sha, ->(sha) { where(file_sha256: sha) }
+ scope :expired, -> { where("delete_at <= ?", Time.current) }
+ scope :without_namespace, -> { where(namespace_id: nil) }
+ end
+ end
+end