2872: Merge branch 'master' into 2872-folder-nav
[arvados.git] / apps / workbench / config / routes.rb
1 ArvadosWorkbench::Application.routes.draw do
2   themes_for_rails
3
4   resources :keep_disks
5   resources :keep_services
6   resources :user_agreements do
7     post 'sign', on: :collection
8     get 'signatures', on: :collection
9   end
10   get '/user_agreements/signatures' => 'user_agreements#signatures'
11   get "users/setup_popup" => 'users#setup_popup', :as => :setup_user_popup
12   get "users/setup" => 'users#setup', :as => :setup_user
13   resources :nodes
14   resources :humans
15   resources :traits
16   resources :api_client_authorizations
17   resources :repositories
18   resources :virtual_machines
19   resources :authorized_keys
20   resources :job_tasks
21   resources :jobs
22   match '/logout' => 'sessions#destroy', via: [:get, :post]
23   get '/logged_out' => 'sessions#index'
24   resources :users do
25     get 'home', :on => :member
26     get 'welcome', :on => :collection
27     get 'activity', :on => :collection
28     get 'storage', :on => :collection
29     post 'sudo', :on => :member
30     post 'unsetup', :on => :member
31     get 'setup_popup', :on => :member
32   end
33   resources :logs
34   resources :factory_jobs
35   resources :uploaded_datasets
36   resources :groups
37   resources :specimens
38   resources :pipeline_templates do
39     get 'choose', on: :collection
40   end
41   resources :pipeline_instances do
42     get 'compare', on: :collection
43     post 'copy', on: :member
44   end
45   resources :links
46   get '/collections/graph' => 'collections#graph'
47   resources :collections do
48     post 'set_persistent', on: :member
49     get 'sharing_popup', :on => :member
50     post 'share', :on => :member
51     post 'unshare', :on => :member
52     get 'choose', on: :collection
53   end
54   get('/collections/download/:uuid/:reader_token/*file' => 'collections#show_file',
55       format: false)
56   get '/collections/download/:uuid/:reader_token' => 'collections#show_file_links'
57   get '/collections/:uuid/*file' => 'collections#show_file', :format => false
58   resources :folders do
59     match 'remove/:item_uuid', on: :member, via: :delete, action: :remove_item
60     match 'remove_items', on: :member, via: :delete, action: :remove_items
61     get 'choose', on: :collection
62   end
63
64   post 'actions' => 'actions#post'
65   get 'websockets' => 'websocket#index'
66
67   root :to => 'folders#index'
68
69   # Send unroutable requests to an arbitrary controller
70   # (ends up at ApplicationController#render_not_found)
71   match '*a', to: 'links#render_not_found', via: [:get, :post]
72 end