rosa-build/config/routes.rb

292 lines
8.2 KiB
Ruby
Raw Permalink Normal View History

2016-05-28 19:21:02 +01:00
require 'sidekiq/web'
require 'sidekiq-scheduler/web'
2015-06-03 22:54:25 +01:00
Rails.application.routes.draw do
2014-03-28 22:14:37 +00:00
2014-04-11 21:29:43 +01:00
# ActiveAdmin routes.
ActiveAdmin.routes(self)
namespace :admin do
constraints Rosa::Constraints::AdminAccess do
2016-05-28 19:21:02 +01:00
mount Sidekiq::Web => 'sidekiq'
2014-04-11 21:29:43 +01:00
end
end
2014-03-28 22:14:37 +00:00
match '/robots.txt' => 'sitemap#robots', via: [:get, :post, :head], as: :robots
2014-10-06 20:16:12 +01:00
resources :statistics, only: [:index]
2014-03-27 14:25:15 +00:00
devise_scope :user do
2016-09-25 23:40:53 +01:00
get 'users/sign_up' => 'users/registrations#new', as: :new_user_registration
post 'users' => 'users/registrations#create', as: :user_registration
2013-08-28 16:15:28 +01:00
end
2014-03-31 11:25:56 +01:00
devise_for :users, controllers: {
confirmations: 'users/confirmations'
}, skip: [:registrations]
2014-03-12 15:59:57 +00:00
namespace :api do
namespace :v1, constraints: { format: 'json' }, defaults: { format: 'json' } do
2014-01-21 04:51:49 +00:00
resources :search, only: [:index]
resources :build_lists, only: [:index, :create, :show] do
member {
2012-12-26 18:35:13 +00:00
put :publish
put :reject_publish
2014-05-22 19:08:43 +01:00
put :rerun_tests
2012-12-26 18:35:13 +00:00
put :cancel
2013-01-30 20:04:19 +00:00
put :create_container
2013-11-18 18:12:50 +00:00
put :publish_into_testing
}
end
2014-04-07 22:30:01 +01:00
resources :arches, only: :index
2014-04-08 22:07:50 +01:00
resources :platforms, only: %i(index show update destroy create) do
collection {
get :platforms_for_build
get :allowed
}
member {
get :members
put :add_member
delete :remove_member
post :clone
put :clear
}
2014-01-21 04:51:49 +00:00
resources :maintainers, only: [ :index ]
end
2014-01-21 04:51:49 +00:00
resources :repositories, only: [:show, :update, :destroy] do
member {
get :projects
get :key_pair
get :packages
put :add_member
delete :remove_member
put :add_project
delete :remove_project
put :signatures
put :add_repo_lock_file
delete :remove_repo_lock_file
}
end
2014-01-21 04:51:49 +00:00
resources :projects, only: [:index, :show, :update, :create, :destroy] do
collection { get :get_id }
member {
2015-02-04 12:02:45 +00:00
get :members
put :add_member
delete :remove_member
2015-02-04 12:02:45 +00:00
put :update_member
}
2014-01-21 04:51:49 +00:00
resources :build_lists, only: :index
end
2014-01-21 04:51:49 +00:00
resources :users, only: [:show]
get 'user' => 'users#show_current_user'
2014-01-21 04:51:49 +00:00
resource :user, only: [:update] do
member {
get :notifiers
put :notifiers
}
end
2014-01-21 04:51:49 +00:00
resources :groups, only: [:index, :show, :update, :create, :destroy] do
2012-10-16 12:49:07 +01:00
member {
get :members
put :add_member
delete :remove_member
put :update_member
}
end
2014-01-21 04:51:49 +00:00
resources :products, only: [:show, :update, :create, :destroy] do
resources :product_build_lists, only: :index
end
2014-01-21 04:51:49 +00:00
resources :product_build_lists, only: [:index, :show, :destroy, :create, :update] do
put :cancel, on: :member
end
2013-09-30 17:35:56 +01:00
resources :jobs do
collection do
get :shift
get :status
put :feedback
put :logs
2013-11-08 21:15:22 +00:00
put :statistics
2013-09-30 17:35:56 +01:00
end
end
end
end
2014-01-21 04:51:49 +00:00
resources :search, only: [:index]
2014-01-21 04:51:49 +00:00
get '/forbidden' => 'pages#forbidden', as: 'forbidden'
get '/terms-of-service' => 'pages#tos', as: 'tos'
if APP_CONFIG['anonymous_access']
authenticated do
2016-04-29 15:10:30 +01:00
root to: 'home#index'
2012-01-11 13:58:13 +00:00
end
unauthenticated do
2016-03-20 09:24:23 +00:00
root to: 'statistics#index', as: :unauthenticated_root
#devise_scope :user do
# root to: 'devise/sessions#new', as: :unauthenticated_root
#end
end
else
2016-04-29 15:10:30 +01:00
root to: 'home#index'
end
2014-01-21 04:51:49 +00:00
scope module: 'platforms' do
resources :platforms, constraints: {id: Platform::NAME_PATTERN} do
member do
put :regenerate_metadata
put :clear
get :clone
get :members
2014-11-11 23:50:15 +00:00
delete :remove_members
post :change_visibility
post :add_member
post :make_clone
end
2014-05-20 22:15:06 +01:00
resources :contents, only: %i(index) do
collection do
delete :remove_file
end
end
2014-06-26 18:20:26 +01:00
resources :mass_builds, only: [:create, :new, :index, :show] do
member do
post :cancel
post :publish
get 'show_fail_reason(/:page)' => 'mass_builds#show_fail_reason', as: :show_fail_reason, page: /[0-9]+/, defaults: { page: '1' }
2014-06-26 18:20:26 +01:00
get '/:kind' => "mass_builds#get_list", as: :get_list, kind: /failed_builds_list|missed_projects_list|projects_list|tests_failed_builds_list|success_builds_list/
end
2012-06-27 15:06:59 +01:00
end
resources :repositories, only: [:create, :new, :show, :edit, :update] do
member do
2016-05-22 13:25:00 +01:00
get :manage_projects
2013-11-12 17:13:05 +00:00
put :add_project
2013-07-26 15:41:39 +01:00
delete :remove_project
get :projects_list
2014-11-11 23:50:15 +00:00
delete :remove_members
2013-07-26 15:41:39 +01:00
post :add_member
put :regenerate_metadata
put :sync_lock_file
end
end
2014-01-21 04:51:49 +00:00
resources :tokens, only: [:create, :index, :show, :new] do
member do
post :withdraw
end
end
resources :products do
2014-01-21 04:51:49 +00:00
resources :product_build_lists, only: [:create, :destroy, :new, :show, :update] do
member {
get :log
put :cancel
}
2012-11-09 17:42:25 +00:00
end
2016-09-25 23:40:53 +01:00
collection {
get :autocomplete_project
2016-05-22 13:25:00 +01:00
get :project_versions
}
end
2014-01-21 04:51:49 +00:00
resources :maintainers, only: [:index]
end
resources :product_build_lists, only: [:index, :show, :update]
end
2014-01-21 04:51:49 +00:00
resources :autocompletes, only: [] do
collection do
get :autocomplete_user_uname
get :autocomplete_extra_build_list
get :autocomplete_extra_mass_build
get :autocomplete_extra_repositories
2014-10-21 21:56:36 +01:00
get :autocomplete_user_or_group
end
end
2014-01-21 04:51:49 +00:00
scope module: 'users' do
2014-01-21 04:51:49 +00:00
resources :settings, only: [] do
collection do
get :profile
2014-03-17 17:01:17 +00:00
patch :profile
get :private
2014-03-17 17:01:17 +00:00
patch :private
get :notifiers
patch :notifiers
2015-02-10 22:08:39 +00:00
get :builds_settings
patch :builds_settings
2013-10-16 18:30:40 +01:00
put :reset_auth_token
end
2011-03-10 14:20:09 +00:00
end
get '/allowed' => 'users#allowed'
get '/check' => 'users#check'
get '/discover' => 'users#discover'
2011-03-10 11:35:46 +00:00
end
2012-04-11 19:29:08 +01:00
2014-01-21 04:51:49 +00:00
scope module: 'groups' do
get '/groups/new' => 'profile#new' # need to force next route exclude id: 'new'
2014-03-19 23:00:16 +00:00
get '/groups/:id' => redirect("/%{id}"), as: :profile_group # override default group show route
2014-01-21 04:51:49 +00:00
resources :groups, controller: 'profile' do
delete :remove_user, on: :member
resources :members, only: [:index] do
collection do
2014-11-11 23:50:15 +00:00
post :add
put :update
delete :remove
end
end
end
end
2014-01-21 04:51:49 +00:00
scope module: 'projects' do
resources :build_lists, only: [:index, :show] do
member do
put :cancel
2013-01-25 17:24:46 +00:00
put :create_container
2014-05-21 23:58:13 +01:00
put :rerun_tests
get :log
patch :publish
put :reject_publish
2013-11-01 17:11:59 +00:00
put :publish_into_testing
get :dependent_projects
post :dependent_projects
end
end
2012-04-19 18:35:35 +01:00
2016-04-29 15:10:30 +01:00
resources :projects, only: [:index, :new, :create]
2015-06-15 21:46:17 +01:00
scope '*name_with_owner', name_with_owner: Project::OWNER_AND_NAME_REGEXP do # project
2014-01-21 04:51:49 +00:00
scope as: 'project' do
2016-04-29 15:10:30 +01:00
resources :build_lists, only: [:index, :new, :create]
2014-02-18 19:16:23 +00:00
put 'schedule' => 'projects#schedule'
2012-05-10 17:57:59 +01:00
end
# Resource
2014-01-21 04:51:49 +00:00
get '/autocomplete_maintainers' => 'projects#autocomplete_maintainers', as: :autocomplete_maintainers
get '/modify' => 'projects#edit', as: :edit_project
2016-04-29 15:10:30 +01:00
patch '/' => 'projects#update', as: :project
delete '/' => 'projects#destroy'
2015-12-08 16:44:26 +00:00
2016-03-20 09:24:23 +00:00
get '/commit/:sha' => 'projects#commit', as: :commit
get '/diff/:diff' => 'projects#diff', as: :diff, format: false, diff: /.*/
end
end
scope ':uname' do # project owner profile
constraints Rosa::Constraints::Owner.new(User) do
2014-01-21 04:51:49 +00:00
get '/' => 'users/profile#show', as: :user
end
constraints Rosa::Constraints::Owner.new(Group, true) do
2014-03-19 23:00:16 +00:00
get '/' => 'groups/profile#show'
end
end
# As of Rails 3.0.1, using rescue_from in your ApplicationController to
# recover from a routing error is broken!
# see: https://rails.lighthouseapp.com/projects/8994/tickets/4444-can-no-longer-rescue_from-actioncontrollerroutingerror
get '*a', to: 'application#render_404'
2011-03-09 13:13:36 +00:00
end