routes.rb revision 00c175adc24043fbcd4cd5e3769c9d13e31ff831
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenrequire 'sidekiq/web' if defined? Sidekiq
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenrequire Rails.root.join('lib', 'router_constraints.rb')
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
16f816d3f3c32ae3351834253f52ddd0212bcbf3Timo SirainenOntohub::Application.routes.draw do
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen # IRI Routing #
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen ###############
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen #
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get ':repository_id(/*path)/:file',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen controller: :ontologies,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen action: :show,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen as: :ontology_iri,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen constraints: GroupedConstraint.new(
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen IRIRouterConstraint.new,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen MIMERouterConstraint.new('text/plain', 'text/html'))
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get 'ref/:version_number/:repository_id(/*path)/:file',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen controller: :ontologies,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen action: :show,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen as: :versioned_ontology_iri,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen constraints: GroupedConstraint.new(
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen RefIRIRouterConstraint.new,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen MIMERouterConstraint.new('text/plain', 'text/html'))
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen #
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen ###############
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :ontology_types, only: :show
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get '/after_signup', to: 'home#show' , as: 'after_sign_up'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen devise_for :users, controllers: {
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen confirmations: 'users/confirmations',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen registrations: 'users/registrations'
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen }
ad850190d946d34966a56838cfdb216e021b5b5fTimo Sirainen resources :users, only: :show
ad850190d946d34966a56838cfdb216e021b5b5fTimo Sirainen resources :keys, except: [:show, :edit, :update]
ad850190d946d34966a56838cfdb216e021b5b5fTimo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :logics, only: [:index, :show] do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :supports, :only => [:create, :update, :destroy, :index]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :graphs, :only => [:index]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :languages do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :supports, :only => [:create, :update, :destroy, :index]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
8aacc9e7c84f8376822823ec98c2f551d4919b2eTimo Sirainen resources :language_mappings
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :logic_mappings
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :mappings, only: :index
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :categories, :only => [:index, :show]
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :projects
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen resources :tasks
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen resources :license_models
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen resources :formality_levels
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :language_adjoints
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :logic_adjoints
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen resources :serializations
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen namespace :admin do
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen resources :teams, :only => :index
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :users
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :jobs, :only => :index
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :status, only: :index
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen authenticate :user, lambda { |u| u.admin? } do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen mount Sidekiq::Web => 'admin/sidekiq'
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen namespace :api, defaults: { format: 'json' } do
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen namespace :v1 do
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen resources :categories, only: [:index]
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen resources :repositories, only: [:index, :update]
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen resources :ontologies, only: [:index, :update]
4b231ca0bbe3b536acbd350101e183441ce0247aTimo Sirainen end
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen end
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen
4b231ca0bbe3b536acbd350101e183441ce0247aTimo Sirainen resources :ontologies, only: [:index] do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen collection do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen get 'search' => 'ontology_search#search'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen end
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen resources :mappings do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen get 'update_version', :on => :member
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen end
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :teams do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :permissions, :only => [:index], :controller => 'teams/permissions'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :team_users, :only => [:index, :create, :update, :destroy], :path => 'users'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen get 'autocomplete' => 'autocomplete#index'
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen get 'symbols_search' => 'symbols_search#index'
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :repositories do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :s_s_h_access, :only => :index, path: 'ssh_access'
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :permissions, :only => [:index, :create, :update, :destroy]
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen resources :url_maps, except: :show
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen resources :errors, :only => :index
e015e2f7e7f48874495f9df8b0dd192b7ffcb5ccTimo Sirainen resources :repository_settings, :only => :index
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen resources :ontologies, only: [:index, :show, :edit, :update, :destroy] do
6a19e109ee8c5a6f688da83a86a7f6abeb71abddTimo Sirainen collection do
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen post 'retry_failed' => 'ontologies#retry_failed'
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen get 'search' => 'ontology_search#search'
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen end
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen member do
58be9d6bcc3800f5b3d76a064ee767fbe31a5a8aTimo Sirainen post 'retry_failed' => 'ontologies#retry_failed'
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo Sirainen end
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :children, :only => :index
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :symbols, only: :index
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :sentences, :only => :index
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5dTimo Sirainen resources :theorems, only: :index
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :mappings do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get 'update_version', :on => :member
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen end
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen resources :ontology_versions, :only => [:index, :show, :new, :create], :path => 'versions' do
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resource :oops_request, :only => [:show, :create]
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :categories
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :tasks
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :license_models
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :tools
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen resources :projects
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen resources :metadata, :only => [:index, :create, :destroy]
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen resources :comments, :only => [:index, :create, :destroy]
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen resources :graphs, :only => [:index]
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen resources :formality_levels
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen
e192a3b1ca8ae857e7d87298ea507d32977ba570Timo Sirainen end
e192a3b1ca8ae857e7d87298ea507d32977ba570Timo Sirainen
e192a3b1ca8ae857e7d87298ea507d32977ba570Timo Sirainen resources :files, only: [:new, :create]
811f2e26d9782d9cb99fdf82e18ffa0a77564fe2Timo Sirainen resources :repository_directories, only: [:create]
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get ':ref/files(/*path)',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen controller: :files,
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen action: :show,
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen as: :ref,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen constraints: FilesRouterConstraint.new
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get ':ref/history(/:path)',
37e6cf44d61a81c6839e3ab76234b54309d8d292Timo Sirainen controller: :history,
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen action: :show,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen as: :history,
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen constraints: { path: /.*/ }
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen get ':ref/diff',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen controller: :diffs,
a40d26f83af808a0ea1e212c001d682a96d870b0Timo Sirainen action: :show,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen as: :diffs
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen # action: entries_info
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen get ':ref/:action(/:path)',
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen controller: :files,
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen as: :ref,
56f45b3f3ae20e5c933701f4657dda5ef1916855Timo Sirainen constraints: { path: /.*/ }
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen end
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen post ':repository_id/:path',
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen controller: :files,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen action: :update,
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen as: :repository_tree,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen constraints: { path: /.*/ }
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen get ':repository_id(/*path)',
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen controller: :files,
fd2f5fbc1f07aa93e2214a28cdf02437fb7d06c8Timo Sirainen action: :show,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen as: :repository_tree,
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen constraints: FilesRouterConstraint.new
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen get '*path',
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen controller: :ontologies,
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen action: :show,
1098fc409a45e7603701dc94635927a673bee0c1Timo Sirainen as: :iri,
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainen constraints: IRIRouterConstraint.new
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainen
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainen root :to => 'home#index'
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainen
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainenend
1e47cfede3a0b62654105daab00e97b5d660bc6bTimo Sirainen