2024-05-18 06:13:29 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2024-05-23 14:12:23 -04:00
|
|
|
require 'sidekiq/web'
|
|
|
|
|
|
2022-04-06 14:46:10 -04:00
|
|
|
Rails.application.routes.draw do
|
2024-05-18 07:35:48 -04:00
|
|
|
mount Rswag::Api::Engine => '/api-docs'
|
|
|
|
|
mount Rswag::Ui::Engine => '/api-docs'
|
2024-07-16 16:26:16 -04:00
|
|
|
authenticate :user, ->(u) { u.admin? } do
|
|
|
|
|
mount Sidekiq::Web => '/sidekiq'
|
|
|
|
|
end
|
2024-05-25 06:57:39 -04:00
|
|
|
|
2024-07-19 14:57:14 -04:00
|
|
|
# We want to return a nice error message if the user is not authorized to access Sidekiq
|
|
|
|
|
match '/sidekiq' => redirect { |_, request|
|
|
|
|
|
request.flash[:error] = 'You are not authorized to perform this action.'
|
|
|
|
|
'/'
|
|
|
|
|
}, via: :get
|
|
|
|
|
|
2024-06-20 17:57:00 -04:00
|
|
|
resources :settings, only: :index
|
2024-06-30 06:31:21 -04:00
|
|
|
namespace :settings do
|
2024-07-12 15:59:03 -04:00
|
|
|
resources :background_jobs, only: %i[index create destroy]
|
2024-06-30 06:40:11 -04:00
|
|
|
resources :users, only: :create
|
2024-06-30 06:31:21 -04:00
|
|
|
end
|
2024-06-20 17:57:00 -04:00
|
|
|
|
|
|
|
|
patch 'settings', to: 'settings#update'
|
2024-05-18 06:13:29 -04:00
|
|
|
get 'settings/theme', to: 'settings#theme'
|
2024-06-20 17:57:00 -04:00
|
|
|
post 'settings/generate_api_key', to: 'settings#generate_api_key', as: :generate_api_key
|
2024-04-04 14:14:11 -04:00
|
|
|
|
2024-03-15 18:27:31 -04:00
|
|
|
resources :imports
|
2024-07-24 14:25:16 -04:00
|
|
|
resources :visits, only: %i[index show edit update destroy]
|
2024-06-12 14:29:38 -04:00
|
|
|
resources :exports, only: %i[index create destroy]
|
2024-05-23 14:12:23 -04:00
|
|
|
resources :points, only: %i[index] do
|
|
|
|
|
collection do
|
|
|
|
|
delete :bulk_destroy
|
|
|
|
|
end
|
|
|
|
|
end
|
2024-07-04 16:20:12 -04:00
|
|
|
resources :notifications, only: %i[index show destroy]
|
2024-07-04 17:00:07 -04:00
|
|
|
post 'notifications/mark_as_read', to: 'notifications#mark_as_read', as: :mark_notifications_as_read
|
2024-03-24 14:25:33 -04:00
|
|
|
resources :stats, only: :index do
|
|
|
|
|
collection do
|
|
|
|
|
post :update
|
|
|
|
|
end
|
|
|
|
|
end
|
2024-03-24 14:46:55 -04:00
|
|
|
get 'stats/:year', to: 'stats#show', constraints: { year: /\d{4}/ }
|
2024-03-23 15:29:55 -04:00
|
|
|
|
2023-10-21 06:43:31 -04:00
|
|
|
root to: 'home#index'
|
2024-06-30 06:31:21 -04:00
|
|
|
devise_for :users, skip: [:registrations]
|
|
|
|
|
as :user do
|
|
|
|
|
get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
|
|
|
|
|
put 'users' => 'devise/registrations#update', :as => 'user_registration'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# And then modify the app/views/devise/shared/_links.erb
|
2024-03-15 18:27:31 -04:00
|
|
|
|
2024-05-23 14:12:23 -04:00
|
|
|
get 'map', to: 'map#index'
|
2024-03-15 18:27:31 -04:00
|
|
|
|
|
|
|
|
namespace :api do
|
|
|
|
|
namespace :v1 do
|
2024-07-21 14:09:42 -04:00
|
|
|
resources :areas, only: %i[index create update destroy]
|
2024-07-21 10:45:29 -04:00
|
|
|
resources :points, only: %i[destroy]
|
|
|
|
|
|
2024-04-06 13:09:38 -04:00
|
|
|
namespace :overland do
|
|
|
|
|
resources :batches, only: :create
|
|
|
|
|
end
|
2024-05-25 06:57:39 -04:00
|
|
|
|
|
|
|
|
namespace :owntracks do
|
|
|
|
|
resources :points, only: :create
|
|
|
|
|
end
|
2024-03-15 18:27:31 -04:00
|
|
|
end
|
|
|
|
|
end
|
2022-04-06 14:46:10 -04:00
|
|
|
end
|