150 lines
4.3 KiB
Ruby
150 lines
4.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# rubocop:disable Metrics/BlockLength
|
|
Metamaps::Application.routes.draw do
|
|
use_doorkeeper
|
|
mount ActionCable.server => '/cable'
|
|
|
|
root to: 'main#home', via: :get
|
|
get 'request', to: 'main#requestinvite', as: :request
|
|
|
|
namespace :explore do
|
|
get 'active'
|
|
get 'featured'
|
|
get 'mine'
|
|
get 'shared'
|
|
get 'starred'
|
|
get 'mapper/:id', action: 'mapper'
|
|
end
|
|
get :explore, to: redirect('/')
|
|
|
|
resources :maps, except: %i[index edit] do
|
|
member do
|
|
get :conversation
|
|
get :export
|
|
post 'events/:event', action: :events
|
|
get :contains
|
|
|
|
get :request_access,
|
|
to: 'access#request_access'
|
|
get 'approve_access/:request_id',
|
|
to: 'access#approve_access',
|
|
as: :approve_access
|
|
get 'deny_access/:request_id',
|
|
to: 'access#deny_access',
|
|
as: :deny_access
|
|
|
|
post :access_request,
|
|
to: 'access#access_request',
|
|
default: { format: :json }
|
|
post 'approve_access/:request_id',
|
|
to: 'access#approve_access_post',
|
|
as: :approve_access_post,
|
|
default: { format: :json }
|
|
post 'deny_access/:request_id',
|
|
to: 'access#deny_access_post',
|
|
as: :deny_access_post,
|
|
default: { format: :json }
|
|
|
|
post :access, to: 'access#access', default: { format: :json }
|
|
|
|
post :star, to: 'stars#create', default: { format: :json }
|
|
post :unstar, to: 'stars#destroy', default: { format: :json }
|
|
post :follow, default: { format: :json }
|
|
post :unfollow, default: { format: :json }
|
|
get :unfollow_from_email
|
|
end
|
|
end
|
|
|
|
resources :mappings, except: %i[index new edit]
|
|
|
|
resources :messages, only: %i[show create update destroy]
|
|
resources :notifications, only: %i[index show] do
|
|
collection do
|
|
get :unsubscribe
|
|
end
|
|
member do
|
|
put :mark_read
|
|
put :mark_unread
|
|
end
|
|
end
|
|
|
|
resources :metacode_sets, except: [:show]
|
|
|
|
resources :metacodes, except: [:destroy]
|
|
get 'metacodes/:name', to: 'metacodes#show'
|
|
|
|
namespace :search do
|
|
get :topics
|
|
get :maps
|
|
get :mappers
|
|
get :synapses
|
|
end
|
|
|
|
resources :synapses, except: %i[index new edit]
|
|
|
|
resources :topics, except: %i[index new edit] do
|
|
member do
|
|
get :network
|
|
get :relative_numbers
|
|
get :relatives
|
|
post :follow, default: { format: :json }
|
|
post :unfollow, default: { format: :json }
|
|
get :unfollow_from_email
|
|
end
|
|
collection do
|
|
get :autocomplete_topic
|
|
end
|
|
end
|
|
|
|
resources :tokens, only: [:new]
|
|
|
|
devise_for :users, skip: :sessions, controllers: {
|
|
registrations: 'users/registrations',
|
|
passwords: 'users/passwords',
|
|
sessions: 'users/sessions'
|
|
}
|
|
|
|
devise_scope :user do
|
|
get 'login' => 'users/sessions#new', :as => :sign_in
|
|
post 'login' => 'users/sessions#create', :as => :user_session
|
|
get 'logout' => 'users/sessions#destroy', :as => :destroy_user_session
|
|
get 'join' => 'users/registrations#new', :as => :sign_up
|
|
end
|
|
|
|
resources :users, except: %i[index destroy] do
|
|
member do
|
|
get :details
|
|
end
|
|
end
|
|
post 'user/updatemetacodes', to: 'users#updatemetacodes', as: :updatemetacodes
|
|
post 'user/update_metacode_focus', to: 'users#update_metacode_focus'
|
|
|
|
namespace :api, path: '/api', default: { format: :json } do
|
|
namespace :v2, path: '/v2' do
|
|
resources :metacodes, only: %i[index show]
|
|
resources :mappings, only: %i[index create show update destroy]
|
|
resources :maps, only: %i[index create show update destroy] do
|
|
post :stars, to: 'stars#create', on: :member
|
|
delete :stars, to: 'stars#destroy', on: :member
|
|
end
|
|
resources :synapses, only: %i[index create show update destroy]
|
|
resources :tokens, only: %i[index create destroy]
|
|
resources :topics, only: %i[index create show update destroy]
|
|
resources :users, only: %i[index show] do
|
|
get :current, on: :collection
|
|
end
|
|
match '*path', to: 'restful#catch_404', via: :all
|
|
end
|
|
namespace :v1, path: '/v1' do
|
|
root to: 'deprecated#deprecated', via: :all
|
|
match '*path', to: 'deprecated#deprecated', via: :all
|
|
end
|
|
match '*path', to: 'v2/restful#catch_404', via: :all
|
|
end
|
|
|
|
namespace :hacks do
|
|
get 'load_url_title'
|
|
end
|
|
end
|
|
# rubocop:enable Metrics/BlockLength
|