summaryrefslogtreecommitdiff
path: root/app/models/lfs_object.rb
diff options
context:
space:
mode:
authorMicaël Bergeron <mbergeron@gitlab.com>2018-02-21 11:43:21 -0500
committerMicaël Bergeron <mbergeron@gitlab.com>2018-03-01 10:34:30 -0500
commit0f1d348d683fdef6c36c3b244c85e59f582ff886 (patch)
tree5558ab163c6154e76a36b6345d22deb302eacc82 /app/models/lfs_object.rb
parenta2f375e8f74870dcdcfa1c7886bd1c14c80a684e (diff)
downloadgitlab-ce-0f1d348d683fdef6c36c3b244c85e59f582ff886.tar.gz
port the object storage to CE
Diffstat (limited to 'app/models/lfs_object.rb')
-rw-r--r--app/models/lfs_object.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/models/lfs_object.rb b/app/models/lfs_object.rb
index 65c157d61ca..04c75d827e0 100644
--- a/app/models/lfs_object.rb
+++ b/app/models/lfs_object.rb
@@ -1,10 +1,12 @@
class LfsObject < ActiveRecord::Base
- prepend EE::LfsObject
include AfterCommitQueue
+ include ObjectStorage::BackgroundMove
has_many :lfs_objects_projects, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
has_many :projects, through: :lfs_objects_projects
+ scope :with_files_stored_locally, -> { where(file_store: [nil, LfsObjectUploader::Store::LOCAL]) }
+
validates :oid, presence: true, uniqueness: true
scope :with_files_stored_locally, -> { where(file_store: [nil, LfsObjectUploader::Store::LOCAL]) }
@@ -21,6 +23,10 @@ class LfsObject < ActiveRecord::Base
projects.exists?(project.lfs_storage_project.id)
end
+ def local_store?
+ [nil, LfsObjectUploader::Store::LOCAL].include?(self.file_store)
+ end
+
def self.destroy_unreferenced
joins("LEFT JOIN lfs_objects_projects ON lfs_objects_projects.lfs_object_id = #{table_name}.id")
.where(lfs_objects_projects: { id: nil })