diff options
Diffstat (limited to 'lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb')
-rw-r--r-- | lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb b/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb deleted file mode 100644 index f1dc3ed74fe..00000000000 --- a/lib/gitlab/database/rename_reserved_paths_migration/v1/migration_classes.rb +++ /dev/null @@ -1,99 +0,0 @@ -# frozen_string_literal: true - -module Gitlab - module Database - module RenameReservedPathsMigration - module V1 - module MigrationClasses - module Routable - def full_path - if route && route.path.present? - @full_path ||= route.path # rubocop:disable Gitlab/ModuleWithInstanceVariables - else - update_route if persisted? - - build_full_path - end - end - - def build_full_path - if parent && path - parent.full_path + '/' + path - else - path - end - end - - def update_route - prepare_route - route.save - end - - def prepare_route - route || build_route(source: self) - route.path = build_full_path - @full_path = nil # rubocop:disable Gitlab/ModuleWithInstanceVariables - end - end - - class Namespace < ActiveRecord::Base - include MigrationClasses::Routable - self.table_name = 'namespaces' - self.inheritance_column = :_type_disabled - belongs_to :parent, - class_name: "#{MigrationClasses.name}::Namespace" - has_one :route, as: :source - has_many :children, - class_name: "#{MigrationClasses.name}::Namespace", - foreign_key: :parent_id - - # Overridden to have the correct `source_type` for the `route` relation - def self.name - 'Namespace' - end - - def kind - type == 'Group' ? 'group' : 'user' - end - end - - class User < ActiveRecord::Base - self.table_name = 'users' - end - - class Route < ActiveRecord::Base - self.table_name = 'routes' - belongs_to :source, polymorphic: true - end - - class Project < ActiveRecord::Base - include MigrationClasses::Routable - has_one :route, as: :source - self.table_name = 'projects' - - HASHED_STORAGE_FEATURES = { - repository: 1, - attachments: 2 - }.freeze - - def repository_storage_path - Gitlab.config.repositories.storages[repository_storage].legacy_disk_path - end - - # Overridden to have the correct `source_type` for the `route` relation - def self.name - 'Project' - end - - def hashed_storage?(feature) - raise ArgumentError, "Invalid feature" unless HASHED_STORAGE_FEATURES.include?(feature) - return false unless respond_to?(:storage_version) - - self.storage_version && self.storage_version >= HASHED_STORAGE_FEATURES[feature] - end - end - end - end - end - end -end |