# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.

class RenameAllReservedPathsAgain < ActiveRecord::Migration
  include Gitlab::Database::RenameReservedPathsMigration::V1

  DOWNTIME = false

  disable_ddl_transaction!

  TOP_LEVEL_ROUTES = %w[
      -
      .well-known
      abuse_reports
      admin
      all
      api
      assets
      autocomplete
      ci
      dashboard
      explore
      files
      groups
      health_check
      help
      hooks
      import
      invites
      issues
      jwt
      koding
      member
      merge_requests
      new
      notes
      notification_settings
      oauth
      profile
      projects
      public
      repository
      robots.txt
      s
      search
      sent_notifications
      services
      snippets
      teams
      u
      unicorn_test
      unsubscribes
      uploads
      users
  ].freeze

  PROJECT_WILDCARD_ROUTES = %w[
      badges
      blame
      blob
      builds
      commits
      create
      create_dir
      edit
      environments/folders
      files
      find_file
      gitlab-lfs/objects
      info/lfs/objects
      new
      preview
      raw
      refs
      tree
      update
      wikis
    ].freeze

  GROUP_ROUTES = %w[
      activity
      analytics
      audit_events
      avatar
      edit
      group_members
      hooks
      issues
      labels
      ldap
      ldap_group_links
      merge_requests
      milestones
      notification_setting
      pipeline_quota
      projects
      subgroups
  ].freeze

  def up
    rename_root_paths(TOP_LEVEL_ROUTES)
    rename_wildcard_paths(PROJECT_WILDCARD_ROUTES)
    rename_child_paths(GROUP_ROUTES)
  end

  def down
  end
end

Rename all forbidden paths again
Rename all forbidden paths again
