routes.rb revision 24420a0f87960309600cef1fc27d77c3abf0a78a
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalinrequire 'sidekiq/web' if defined? Sidekiq
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey ShabalinOntohub::Application.routes.draw do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get "tasks/index"
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get "project/index"
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get "license_model/index"
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get "tools/index"
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin devise_for :users, :controllers => { :registrations => "users/registrations" }
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :users, :only => :show
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :keys, except: [:show, :edit, :update]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :logics do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :supports, :only => [:create, :update, :destroy, :index]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :graphs, :only => [:index]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :languages do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :supports, :only => [:create, :update, :destroy, :index]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :language_mappings
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :logic_mappings
e29bf450cafa2ce2564aeb0b64d2014c17228407Dwight Engen
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :links, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :language_adjoints
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :logic_adjoints
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :serializations
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin namespace :admin do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :teams, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :users
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :jobs, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin authenticate :user, lambda { |u| u.admin? } do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin mount Sidekiq::Web => 'admin/sidekiq'
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin namespace :api, defaults: { format: 'json' } do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin namespace :v1 do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :repositories, only: [:index, :update]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :ontologies, only: [:index, :update]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :ontologies, only: [:index] do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin collection do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get 'keywords' => 'ontology_search#keywords'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get 'search' => 'ontology_search#search'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :links do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get 'update_version', :on => :member
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :link_versions
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :teams do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :permissions, :only => [:index], :controller => 'teams/permissions'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :team_users, :only => [:index, :create, :update, :destroy], :path => 'users'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get 'autocomplete' => 'autocomplete#index'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get 'entities_search' => 'entities_search#index'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :repositories do
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :ssh_access, :only => :index
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :permissions, :only => [:index, :create, :update, :destroy]
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :url_maps, except: :show
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :ontologies, only: [:index, :show, :edit, :update] do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin collection do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin post 'retry_failed' => 'ontologies#retry_failed'
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get 'keywords' => 'ontology_search#keywords'
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get 'search' => 'ontology_search#search'
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :children, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :entities, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :sentences, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :links do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get 'update_version', :on => :member
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :link_versions
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :ontology_versions, :only => [:index, :show, :new, :create], :path => 'versions' do
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resource :oops_request, :only => [:show, :create]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin end
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin resources :categories, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :tasks, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :license_models, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :tools, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :projects, :only => :index
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :metadata, :only => [:index, :create, :destroy]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :comments, :only => [:index, :create, :destroy]
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :graphs, :only => [:index]
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin resources :files, only: [:new, :create]
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin # action: history, diff, entries_info, files
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin get ':ref/:action(/:path)',
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin controller: :files,
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin as: :ref,
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin constraints: { path: /.*/ }
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin end
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin get ':repository_id(/:path)',
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin controller: :files,
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin action: :files,
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin as: :repository_tree,
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin constraints: { path: /.*/ }
262f4e48a51a55ad9cee06abbcfe4a6ad6166f49Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin root :to => 'home#show'
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalinend
b031f0d2ca1b40eab86286b82d3c5e8b379122e6Alexey Shabalin