Commit 090a9b83 authored by Lin Jen-Shin's avatar Lin Jen-Shin

Merge branch 'rs-ee-only-routes-2-ee' into 'master'

CE-EE parity for routes

Closes #6654

See merge request gitlab-org/gitlab-ee!14351
parents d0f9320d 8b1d5853
......@@ -30,9 +30,12 @@ Rails.application.routes.draw do
# This prefixless path is required because Jira gets confused if we set it up with a path
# More information: https://gitlab.com/gitlab-org/gitlab-ee/issues/6752
scope path: '/login/oauth', controller: 'oauth/jira/authorizations', as: :oauth_jira do
get :authorize, action: :new
get :callback
post :access_token
Gitlab.ee do
get :authorize, action: :new
get :callback
post :access_token
end
# This helps minimize merge conflicts with CE for this scope block
match '*all', via: [:get, :post], to: proc { [404, {}, ['']] }
end
......@@ -46,9 +49,12 @@ Rails.application.routes.draw do
get '/autocomplete/users/:id' => 'autocomplete#user'
get '/autocomplete/projects' => 'autocomplete#projects'
get '/autocomplete/award_emojis' => 'autocomplete#award_emojis'
get '/autocomplete/project_groups' => 'autocomplete#project_groups'
get '/autocomplete/merge_request_target_branches' => 'autocomplete#merge_request_target_branches'
Gitlab.ee do
get '/autocomplete/project_groups' => 'autocomplete#project_groups'
end
# Search
get 'search' => 'search#show'
get 'search/autocomplete' => 'search#autocomplete', as: :search_autocomplete
......@@ -78,8 +84,10 @@ Rails.application.routes.draw do
resources :issues, module: :boards, only: [:index, :update]
resources :users, module: :boards, only: [:index]
resources :milestones, module: :boards, only: [:index]
Gitlab.ee do
resources :users, module: :boards, only: [:index]
resources :milestones, module: :boards, only: [:index]
end
end
get 'acme-challenge/' => 'acme_challenges#show'
......@@ -92,8 +100,11 @@ Rails.application.routes.draw do
draw :operations
draw :instance_statistics
draw :smartcard
draw :jira_connect
Gitlab.ee do
draw :smartcard
draw :jira_connect
end
if ENV['GITLAB_ENABLE_CHAOS_ENDPOINTS']
get '/chaos/leakmem' => 'chaos#leakmem'
......@@ -111,8 +122,9 @@ Rails.application.routes.draw do
end
member do
# EE specific
get :metrics, format: :json
Gitlab.ee do
get :metrics, format: :json
end
scope :applications do
post '/:application', to: 'clusters/applications#create', as: :install_applications
......
......@@ -14,7 +14,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
get :issues, as: :issues_group
get :merge_requests, as: :merge_requests_group
get :projects, as: :projects_group
get :details, as: :details_group # needed for EE but left here to provide helpers for CE partials
get :details, as: :details_group
get :activity, as: :activity_group
put :transfer, as: :transfer_group
# TODO: Remove as part of refactor in https://gitlab.com/gitlab-org/gitlab-ce/issues/49693
......
......@@ -41,10 +41,11 @@ resource :profile, only: [:show, :update] do
end
end
## EE-specific
resource :slack, only: [:edit] do
member do
get :slack_link
Gitlab.ee do
resource :slack, only: [:edit] do
member do
get :slack_link
end
end
end
......@@ -72,9 +73,9 @@ resource :profile, only: [:show, :update] do
resources :u2f_registrations, only: [:destroy]
## EE-specific
resources :pipeline_quota, only: [:index]
resources :billings, only: [:index]
## EE-specific
Gitlab.ee do
resources :pipeline_quota, only: [:index]
resources :billings, only: [:index]
end
end
end
......@@ -79,11 +79,11 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resource :operations, only: [:show, :update]
resource :integrations, only: [:show]
## EE-specific
resource :slack, only: [:destroy, :edit, :update] do
get :slack_auth
Gitlab.ee do
resource :slack, only: [:destroy, :edit, :update] do
get :slack_auth
end
end
## EE-specific
resource :repository, only: [:show], controller: :repository do
post :create_deploy_token, path: 'deploy_token/create'
......@@ -91,9 +91,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :feature_flags
## EE-specific
Gitlab.ee do
resources :feature_flags
end
resources :autocomplete_sources, only: [] do
collection do
......@@ -214,15 +214,18 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
namespace :prometheus do
resources :metrics, constraints: { id: %r{[^\/]+} }, only: [:index, :new, :create, :edit, :update, :destroy] do
post :validate_query, on: :collection
get :active_common, on: :collection
Gitlab.ee do
post :validate_query, on: :collection
end
end
# EE-specific
resources :alerts, constraints: { id: /\d+/ }, only: [:index, :create, :show, :update, :destroy] do
post :notify, on: :collection
Gitlab.ee do
resources :alerts, constraints: { id: /\d+/ }, only: [:index, :create, :show, :update, :destroy] do
post :notify, on: :collection
end
end
# EE-specific
end
resources :merge_requests, concerns: :awardable, except: [:new, :create], constraints: { id: /\d+/ } do
......@@ -234,13 +237,13 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get :ci_environments_status
post :toggle_subscription
## EE-specific
get :approvals
post :approvals, action: :approve
delete :approvals, action: :unapprove
Gitlab.ee do
get :approvals
post :approvals, action: :approve
delete :approvals, action: :unapprove
post :rebase
## EE-specific
post :rebase
end
post :remove_wip
post :assign_related_issues
......@@ -274,22 +277,20 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post :bulk_update
end
## EE-specific
resources :approvers, only: :destroy
delete 'approvers', to: 'approvers#destroy_via_user_id', as: :approver_via_user_id
resources :approver_groups, only: :destroy
## EE-specific
## EE-specific
scope module: :merge_requests do
resources :drafts, only: [:index, :update, :create, :destroy] do
collection do
post :publish
delete :discard
Gitlab.ee do
resources :approvers, only: :destroy
delete 'approvers', to: 'approvers#destroy_via_user_id', as: :approver_via_user_id
resources :approver_groups, only: :destroy
scope module: :merge_requests do
resources :drafts, only: [:index, :update, :create, :destroy] do
collection do
post :publish
delete :discard
end
end
end
end
## EE-specific
resources :discussions, only: [:show], constraints: { id: /\h{40}/ } do
member do
......@@ -321,16 +322,16 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :path_locks, only: [:index, :destroy] do
collection do
post :toggle
Gitlab.ee do
resources :path_locks, only: [:index, :destroy] do
collection do
post :toggle
end
end
end
## EE-specific
get '/service_desk' => 'service_desk#show', as: :service_desk
put '/service_desk' => 'service_desk#update', as: :service_desk_refresh
get '/service_desk' => 'service_desk#show', as: :service_desk
put '/service_desk' => 'service_desk#update', as: :service_desk_refresh
end
resource :variables, only: [:show, :update]
......@@ -347,9 +348,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :push_rules, constraints: { id: /\d+/ }, only: [:update]
## EE-specific
Gitlab.ee do
resources :push_rules, constraints: { id: /\d+/ }, only: [:update]
end
resources :pipelines, only: [:index, :new, :create, :show] do
collection do
......@@ -365,13 +366,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get :builds
get :failures
get :status
get :security
get :licenses
end
member do
resources :stages, only: [], param: :name do
post :play_manual
Gitlab.ee do
get :security
get :licenses
end
end
......@@ -402,8 +400,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get '/prometheus/api/v1/*proxy_path', to: 'environments/prometheus_api#proxy', as: :prometheus_api
# EE
get :logs
Gitlab.ee do
get :logs
end
end
collection do
......@@ -420,13 +419,13 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :protected_environments, only: [:create, :update, :destroy], constraints: { id: /\d+/ } do
collection do
get 'search'
Gitlab.ee do
resources :protected_environments, only: [:create, :update, :destroy], constraints: { id: /\d+/ } do
collection do
get 'search'
end
end
end
## EE-specific
resource :cycle_analytics, only: [:show]
......@@ -480,14 +479,13 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
# EE-specific start
namespace :security do
resource :dashboard, only: [:show], controller: :dashboard
end
# EE-specific end
Gitlab.ee do
namespace :security do
resource :dashboard, only: [:show], controller: :dashboard
end
## EE-specific
resources :vulnerability_feedback, only: [:index, :create, :update, :destroy], constraints: { id: /\d+/ }
resources :vulnerability_feedback, only: [:index, :create, :update, :destroy], constraints: { id: /\d+/ }
end
get :issues, to: 'issues#calendar', constraints: lambda { |req| req.format == :ics }
......@@ -508,13 +506,15 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post :bulk_update
post :import_csv
## EE-specific START
post :export_csv
get :service_desk
## EE-specific END
Gitlab.ee do
post :export_csv
get :service_desk
end
end
resources :issue_links, only: [:index, :create, :destroy], as: 'links', path: 'links'
Gitlab.ee do
resources :issue_links, only: [:index, :create, :destroy], as: 'links', path: 'links'
end
end
resources :notes, only: [:create, :destroy, :update], concerns: :awardable, constraints: { id: /\d+/ } do
......@@ -548,10 +548,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :approvers, only: :destroy
resources :approver_groups, only: :destroy
## EE-specific
Gitlab.ee do
resources :approvers, only: :destroy
resources :approver_groups, only: :destroy
end
resources :runner_projects, only: [:create, :destroy]
resources :badges, only: [:index] do
......@@ -567,9 +567,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
## EE-specific
resources :audit_events, only: [:index]
## EE-specific
Gitlab.ee do
resources :audit_events, only: [:index]
end
resources :error_tracking, only: [:index], controller: :error_tracking do
collection do
......@@ -582,9 +582,9 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
draw :wiki
draw :repository
## EE-specific
resources :managed_licenses, only: [:index, :show, :new, :create, :edit, :update, :destroy]
## EE-specific
Gitlab.ee do
resources :managed_licenses, only: [:index, :show, :new, :create, :edit, :update, :destroy]
end
end
resources(:projects,
......
## EE-specific
get 'unsubscribes/:email', to: 'unsubscribes#show', as: :unsubscribe
post 'unsubscribes/:email', to: 'unsubscribes#create'
## EE-specific
Gitlab.ee do
get 'unsubscribes/:email', to: 'unsubscribes#show', as: :unsubscribe
post 'unsubscribes/:email', to: 'unsubscribes#create'
end
# Allows individual providers to be directed to a chosen controller
# Call from inside devise_scope
......@@ -31,9 +31,9 @@ devise_scope :user do
get '/users/auth/:provider/omniauth_error' => 'omniauth_callbacks#omniauth_error', as: :omniauth_error
get '/users/almost_there' => 'confirmations#almost_there'
## EE-specific
get '/users/auth/kerberos_spnego/negotiate' => 'omniauth_kerberos_spnego#negotiate'
## EE-specific
Gitlab.ee do
get '/users/auth/kerberos_spnego/negotiate' => 'omniauth_kerberos_spnego#negotiate'
end
end
scope '-/users', module: :users do
......
......@@ -71,6 +71,10 @@ module Gitlab
end
end
def self.ee
yield if ee?
end
def self.http_proxy_env?
HTTP_PROXY_ENV_VARS.any? { |name| ENV[name] }
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment