Class: ImportExportUpload
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- ImportExportUpload
- Includes:
- EachBatch, WithUploads
- Defined in:
- app/models/import_export_upload.rb
Constant Summary
Constants included from WithUploads
Constants inherited from ApplicationRecord
Constants included from HasCheckConstraints
HasCheckConstraints::NOT_NULL_CHECK_PATTERN
Constants included from ResetOnColumnErrors
ResetOnColumnErrors::MAX_RESET_PERIOD
Instance Method Summary collapse
-
#export_archive_exists? ⇒ Boolean
This checks if the export archive is actually stored on disk.
- #export_file_exists? ⇒ Boolean
- #retrieve_upload(_identifier, paths) ⇒ Object
- #uploads_sharding_key ⇒ Object
Methods included from FastDestroyAll::Helpers
Methods included from AfterCommitQueue
#run_after_commit, #run_after_commit_or_now
Methods inherited from ApplicationRecord
===, cached_column_list, #create_or_load_association, current_transaction, declarative_enum, default_select_columns, delete_all_returning, #deleted_from_database?, id_in, id_not_in, iid_in, nullable_column?, primary_key_in, #readable_by?, safe_ensure_unique, safe_find_or_create_by, safe_find_or_create_by!, sharding_keys, #to_ability_name, underscore, where_exists, where_not_exists, with_fast_read_statement_timeout, without_order
Methods included from ResetOnColumnErrors
#reset_on_union_error, #reset_on_unknown_attribute_error
Methods included from Gitlab::SensitiveSerializableHash
Instance Method Details
#export_archive_exists? ⇒ Boolean
This checks if the export archive is actually stored on disk. It requires a HEAD request if object storage is used.
37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/models/import_export_upload.rb', line 37 def export_archive_exists? !!carrierwave_export_file&.exists? # Handle any HTTP unexpected error # https://github.com/excon/excon/blob/bbb5bd791d0bb2251593b80e3bce98dbec6e8f24/lib/excon/error.rb#L129-L169 rescue Excon::Error => e # The HEAD request will fail with a 403 Forbidden if the file does not # exist, and the user does not have permission to list the object # storage bucket. Gitlab::ErrorTracking.track_exception(e) false end |
#export_file_exists? ⇒ Boolean
31 32 33 |
# File 'app/models/import_export_upload.rb', line 31 def export_file_exists? !!carrierwave_export_file end |
#retrieve_upload(_identifier, paths) ⇒ Object
27 28 29 |
# File 'app/models/import_export_upload.rb', line 27 def retrieve_upload(_identifier, paths) Upload.find_by(model: self, path: paths) end |
#uploads_sharding_key ⇒ Object
49 50 51 52 53 54 |
# File 'app/models/import_export_upload.rb', line 49 def uploads_sharding_key { project_id: project_id, namespace_id: group_id } end |