Copy routes from EE
This ensures all routes are defined in both CE and EE, with EE-specific routes being wrapped in `Gitlab.ee` blocks.
This commit is contained in:
parent
5ec2146c4a
commit
2d738b6f84
6 changed files with 154 additions and 7 deletions
|
@ -27,10 +27,13 @@ Rails.application.routes.draw do
|
|||
authorizations: 'oauth/authorizations'
|
||||
end
|
||||
|
||||
# This is here so we can "reserve" the path for the Jira integration in GitLab EE
|
||||
# Having a non-existent controller here does not affect the scope in any way since all possible routes
|
||||
# get a 404 proc returned. It is written in this way to minimize merge conflicts with EE
|
||||
# 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
|
||||
# This helps minimize merge conflicts with CE for this scope block
|
||||
match '*all', via: [:get, :post], to: proc { [404, {}, ['']] }
|
||||
end
|
||||
|
||||
|
@ -43,6 +46,7 @@ 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'
|
||||
|
||||
# Search
|
||||
|
@ -73,6 +77,9 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
resources :issues, module: :boards, only: [:index, :update]
|
||||
|
||||
resources :users, module: :boards, only: [:index]
|
||||
resources :milestones, module: :boards, only: [:index]
|
||||
end
|
||||
|
||||
get 'acme-challenge/' => 'acme_challenges#show'
|
||||
|
@ -85,6 +92,8 @@ Rails.application.routes.draw do
|
|||
|
||||
draw :operations
|
||||
draw :instance_statistics
|
||||
draw :smartcard
|
||||
draw :jira_connect
|
||||
|
||||
if ENV['GITLAB_ENABLE_CHAOS_ENDPOINTS']
|
||||
get '/chaos/leakmem' => 'chaos#leakmem'
|
||||
|
@ -102,6 +111,10 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
member do
|
||||
Gitlab.ee do
|
||||
get :metrics, format: :json
|
||||
end
|
||||
|
||||
scope :applications do
|
||||
post '/:application', to: 'clusters/applications#create', as: :install_applications
|
||||
patch '/:application', to: 'clusters/applications#update', as: :update_applications
|
||||
|
|
|
@ -3,5 +3,5 @@ constraints(::Constraints::FeatureConstrainer.new(:graphql, default_enabled: tru
|
|||
mount GraphiQL::Rails::Engine, at: '/-/graphql-explorer', graphql_path: '/api/graphql'
|
||||
end
|
||||
|
||||
API::API.logger Rails.logger
|
||||
mount API::API => '/'
|
||||
::API::API.logger Rails.logger
|
||||
mount ::API::API => '/'
|
||||
|
|
|
@ -40,6 +40,15 @@ resource :profile, only: [:show, :update] do
|
|||
put :resend_confirmation_instructions
|
||||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resource :slack, only: [:edit] do
|
||||
member do
|
||||
get :slack_link
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :chat_names, only: [:index, :new, :create, :destroy] do
|
||||
collection do
|
||||
delete :deny
|
||||
|
@ -63,5 +72,10 @@ resource :profile, only: [:show, :update] do
|
|||
end
|
||||
|
||||
resources :u2f_registrations, only: [:destroy]
|
||||
|
||||
Gitlab.ee do
|
||||
resources :pipeline_quota, only: [:index]
|
||||
resources :billings, only: [:index]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -79,12 +79,22 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
resource :operations, only: [:show, :update]
|
||||
resource :integrations, only: [:show]
|
||||
|
||||
Gitlab.ee do
|
||||
resource :slack, only: [:destroy, :edit, :update] do
|
||||
get :slack_auth
|
||||
end
|
||||
end
|
||||
|
||||
resource :repository, only: [:show], controller: :repository do
|
||||
post :create_deploy_token, path: 'deploy_token/create'
|
||||
post :cleanup
|
||||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :feature_flags
|
||||
end
|
||||
|
||||
resources :autocomplete_sources, only: [] do
|
||||
collection do
|
||||
get 'members'
|
||||
|
@ -199,9 +209,16 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
resource :mattermost, only: [:new, :create]
|
||||
|
||||
namespace :prometheus do
|
||||
resources :metrics, constraints: { id: %r{[^\/]+} }, only: [] do
|
||||
resources :metrics, constraints: { id: %r{[^\/]+} }, only: [:index, :new, :create, :edit, :update, :destroy] do
|
||||
post :validate_query, on: :collection
|
||||
get :active_common, on: :collection
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :alerts, constraints: { id: /\d+/ }, only: [:index, :create, :show, :update, :destroy] do
|
||||
post :notify, on: :collection
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :merge_requests, concerns: :awardable, except: [:new, :create], constraints: { id: /\d+/ } do
|
||||
|
@ -212,6 +229,15 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
get :pipeline_status
|
||||
get :ci_environments_status
|
||||
post :toggle_subscription
|
||||
|
||||
Gitlab.ee do
|
||||
get :approvals
|
||||
post :approvals, action: :approve
|
||||
delete :approvals, action: :unapprove
|
||||
|
||||
post :rebase
|
||||
end
|
||||
|
||||
post :remove_wip
|
||||
post :assign_related_issues
|
||||
get :discussions, format: :json
|
||||
|
@ -244,6 +270,21 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
post :bulk_update
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
resources :discussions, only: [:show], constraints: { id: /\h{40}/ } do
|
||||
member do
|
||||
post :resolve
|
||||
|
@ -274,6 +315,17 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :path_locks, only: [:index, :destroy] do
|
||||
collection do
|
||||
post :toggle
|
||||
end
|
||||
end
|
||||
|
||||
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]
|
||||
|
||||
resources :triggers, only: [:index, :create, :edit, :update, :destroy] do
|
||||
|
@ -289,6 +341,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :push_rules, constraints: { id: /\d+/ }, only: [:update]
|
||||
end
|
||||
|
||||
resources :pipelines, only: [:index, :new, :create, :show] do
|
||||
collection do
|
||||
resource :pipelines_settings, path: 'settings', only: [:show, :update]
|
||||
|
@ -303,6 +359,14 @@ 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
|
||||
end
|
||||
end
|
||||
|
||||
member do
|
||||
|
@ -331,6 +395,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
get '/terminal.ws/authorize', to: 'environments#terminal_websocket_authorize', constraints: { format: nil }
|
||||
|
||||
get '/prometheus/api/v1/*proxy_path', to: 'environments/prometheus_api#proxy', as: :prometheus_api
|
||||
|
||||
Gitlab.ee do
|
||||
get :logs
|
||||
end
|
||||
end
|
||||
|
||||
collection do
|
||||
|
@ -347,6 +415,14 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :protected_environments, only: [:create, :update, :destroy], constraints: { id: /\d+/ } do
|
||||
collection do
|
||||
get 'search'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
resource :cycle_analytics, only: [:show]
|
||||
|
||||
namespace :cycle_analytics do
|
||||
|
@ -399,6 +475,14 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
namespace :security do
|
||||
resource :dashboard, only: [:show], controller: :dashboard
|
||||
end
|
||||
|
||||
resources :vulnerability_feedback, only: [:index, :create, :update, :destroy], constraints: { id: /\d+/ }
|
||||
end
|
||||
|
||||
get :issues, to: 'issues#calendar', constraints: lambda { |req| req.format == :ics }
|
||||
|
||||
resources :issues, concerns: :awardable, constraints: { id: /\d+/ } do
|
||||
|
@ -417,7 +501,14 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
collection do
|
||||
post :bulk_update
|
||||
post :import_csv
|
||||
|
||||
Gitlab.ee do
|
||||
post :export_csv
|
||||
get :service_desk
|
||||
end
|
||||
end
|
||||
|
||||
resources :issue_links, only: [:index, :create, :destroy], as: 'links', path: 'links'
|
||||
end
|
||||
|
||||
resources :notes, only: [:create, :destroy, :update], concerns: :awardable, constraints: { id: /\d+/ } do
|
||||
|
@ -451,6 +542,11 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :approvers, only: :destroy
|
||||
resources :approver_groups, only: :destroy
|
||||
end
|
||||
|
||||
resources :runner_projects, only: [:create, :destroy]
|
||||
resources :badges, only: [:index] do
|
||||
collection do
|
||||
|
@ -465,6 +561,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
end
|
||||
end
|
||||
|
||||
Gitlab.ee do
|
||||
resources :audit_events, only: [:index]
|
||||
end
|
||||
|
||||
resources :error_tracking, only: [:index], controller: :error_tracking do
|
||||
collection do
|
||||
post :list_projects
|
||||
|
@ -475,6 +575,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
|
|||
# its preferable to keep it below all other project routes
|
||||
draw :wiki
|
||||
draw :repository
|
||||
|
||||
Gitlab.ee do
|
||||
resources :managed_licenses, only: [:index, :show, :new, :create, :edit, :update, :destroy]
|
||||
end
|
||||
end
|
||||
|
||||
resources(:projects,
|
||||
|
|
|
@ -58,7 +58,7 @@ scope format: false do
|
|||
resource :release, controller: 'tags/releases', only: [:edit, :update]
|
||||
end
|
||||
|
||||
resources :protected_branches, only: [:index, :show, :create, :update, :destroy]
|
||||
resources :protected_branches, only: [:index, :show, :create, :update, :destroy, :patch], constraints: { id: Gitlab::PathRegex.git_reference_regex }
|
||||
resources :protected_tags, only: [:index, :show, :create, :update, :destroy]
|
||||
end
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
def override_omniauth(provider, controller, path_prefix = '/users/auth')
|
||||
|
@ -25,6 +30,17 @@ devise_for :users, controllers: { omniauth_callbacks: :omniauth_callbacks,
|
|||
devise_scope :user do
|
||||
get '/users/auth/:provider/omniauth_error' => 'omniauth_callbacks#omniauth_error', as: :omniauth_error
|
||||
get '/users/almost_there' => 'confirmations#almost_there'
|
||||
|
||||
Gitlab.ee do
|
||||
get '/users/auth/kerberos_spnego/negotiate' => 'omniauth_kerberos_spnego#negotiate'
|
||||
end
|
||||
end
|
||||
|
||||
scope '-/users', module: :users do
|
||||
resources :terms, only: [:index] do
|
||||
post :accept, on: :member
|
||||
post :decline, on: :member
|
||||
end
|
||||
end
|
||||
|
||||
scope '-/users', module: :users do
|
||||
|
|
Loading…
Reference in a new issue