Skip to content
Snippets Groups Projects
routes.rb 4.81 KiB
Newer Older
  • Learn to ignore specific revisions
  • gitlabhq's avatar
    gitlabhq committed
    Gitlab::Application.routes.draw do
    
      get 'search' => "search#show"
    
    Valery Sizov's avatar
    Valery Sizov committed
    
    
      # API
      require 'api'
      mount Gitlab::API => '/api'
    
    
      # Optionally, enable Resque here
    
      require 'resque/server'
    
      mount Resque::Server => '/info/resque', as: 'resque'
    
      # Enable Grack support
      mount Grack::Bundle.new({
    
        git_path:     Gitlab.config.git_bin_path,
        project_root: Gitlab.config.git_base_path,
        upload_pack:  Gitlab.config.git_upload_pack,
        receive_pack: Gitlab.config.git_receive_pack
    
    Saito's avatar
    Saito committed
      }), at: '/:path', constraints: { path: /[\w-]+\.git/ }
    
      get 'help'              => 'help#index'
      get 'help/permissions'  => 'help#permissions'
      get 'help/workflow'     => 'help#workflow'
      get 'help/api'          => 'help#api'
      get 'help/web_hooks'    => 'help#web_hooks'
    
      get 'help/system_hooks' => 'help#system_hooks'
    
      get 'help/markdown'     => 'help#markdown'
      get 'help/ssh'          => 'help#ssh'
    
    Nihad Abbasov's avatar
    Nihad Abbasov committed
      namespace :admin do
    
    Dmitriy Zaporozhets's avatar
    Dmitriy Zaporozhets committed
            put :team_update
    
            put :block
            put :unblock
    
    Dmitriy Zaporozhets's avatar
    Dmitriy Zaporozhets committed
          end
        end
    
        resources :projects, constraints: { id: /[^\/]+/ } do
    
            get :team
            put :team_update
          end
        end
    
        resources :team_members, only: [:edit, :update, :destroy]
        resources :hooks, only: [:index, :create, :destroy] do
    
          get :test
        end
    
        resource :resque, controller: 'resque', only: [:show]
        root to: "dashboard#index"
    
    gitlabhq's avatar
    gitlabhq committed
      end
    
    
      get "errors/githost"
    
    randx's avatar
    randx committed
    
      #
      # Profile Area
      #
    
      get "profile/account"             => "profile#account"
      get "profile/history"             => "profile#history"
      put "profile/password"            => "profile#password_update"
      get "profile/token"               => "profile#token"
      put "profile/reset_private_token" => "profile#reset_private_token"
      get "profile"                     => "profile#show"
      get "profile/design"              => "profile#design"
      put "profile/update"              => "profile#update"
    
    
    Dmitriy Zaporozhets's avatar
    Dmitriy Zaporozhets committed
    
    
    randx's avatar
    randx committed
      #
      # Dashboard Area
      #
    
      get "dashboard"                => "dashboard#index"
      get "dashboard/issues"         => "dashboard#issues"
      get "dashboard/merge_requests" => "dashboard#merge_requests"
    
    gitlabhq's avatar
    gitlabhq committed
    
    
      resources :projects, constraints: { id: /[^\/]+/ }, only: [:new, :create]
    
      devise_for :users, controllers: { omniauth_callbacks: :omniauth_callbacks }
    
    gitlabhq's avatar
    gitlabhq committed
    
    
      resources :projects, constraints: { id: /[^\/]+/ }, except: [:new, :create, :index], path: "/" do
    
    Nihad Abbasov's avatar
    Nihad Abbasov committed
        member do
    
    gitlabhq's avatar
    gitlabhq committed
          get "wall"
    
    Valery Sizov's avatar
    Valery Sizov committed
          get "graph"
    
    gitlabhq's avatar
    gitlabhq committed
        end
    
    gitlabhq's avatar
    gitlabhq committed
    
    
        resources :wikis, only: [:show, :edit, :destroy, :create] do
    
    Dmitriy Zaporozhets's avatar
    Dmitriy Zaporozhets committed
          collection do
            get :pages
          end
    
    
    Valery Sizov's avatar
    Valery Sizov committed
          member do
    
    Valery Sizov's avatar
    Valery Sizov committed
          end
        end
    
        resource :repository do
          member do
    
            get "branches"
            get "tags"
    
            get "archive"
    
    miks's avatar
    miks committed
        resources :deploy_keys
    
        resources :protected_branches, only: [:index, :create, :destroy]
    
        resources :refs, only: [], path: "/" do
    
    gitlabhq's avatar
    gitlabhq committed
            get "switch"
          end
    
    
            # tree viewer logs
            get "logs_tree", constraints: { id: /[a-zA-Z.\/0-9_\-]+/ }
    
            get "logs_tree/:path" => "refs#logs_tree",
    
              as: :logs_file,
              constraints: {
                id:   /[a-zA-Z.0-9\/_\-]+/,
                path: /.*/
    
    gitlabhq's avatar
    gitlabhq committed
          end
    
    gitlabhq's avatar
    gitlabhq committed
        end
    
    gitlabhq's avatar
    gitlabhq committed
    
    
        resources :merge_requests do
          member do
    
    randx's avatar
    randx committed
            get :automerge
    
            get :automerge_check
    
    randx's avatar
    randx committed
            get :raw
    
            get :branch_from
            get :branch_to
          end
    
        resources :hooks, only: [:index, :create, :destroy] do
    
        # XXX: WIP
        resources :commit,  only: [:show], constraints: {id: /[[:alnum:]]{6,40}/}
        resources :commits, only: [:show], constraints: {id: /.+/}, as: 'history'
        resources :blame,   only: [:show], constraints: {id: /.+/}
        resources :blob,    only: [:show], constraints: {id: /.+/}
        # resources :raw,    only: [:show], constraints: {id: /.+/}
        resources :tree,   only: [:show], constraints: {id: /.+/}
        match "/compare/:from...:to" => "compare#show", as: "compare", constraints: {from: /.+/, to: /.+/}
    
        # resources :commits, only: [:show], as: 'history' do
        #   member do
        #     get :patch
        #   end
        # end
    
        resources :team, controller: 'team_members', only: [:index]
    
    gitlabhq's avatar
    gitlabhq committed
        resources :team_members
    
        resources :milestones
    
        resources :labels, only: [:index]
    
    VSizov's avatar
    VSizov committed
        resources :issues do
    
    VSizov's avatar
    VSizov committed
          collection do
    
    randx's avatar
    randx committed
            post  :bulk_update
    
    VSizov's avatar
    VSizov committed
        end
    
        resources :notes, only: [:index, :create, :destroy] do
    
          collection do
            post :preview
          end
        end
    
    gitlabhq's avatar
    gitlabhq committed
      end
    
    
      root to: "dashboard#index"
    
    gitlabhq's avatar
    gitlabhq committed
    end