dawarich/config/routes.rb
2024-07-24 20:25:16 +02:00

70 lines
2.1 KiB
Ruby

# frozen_string_literal: true
require 'sidekiq/web'
Rails.application.routes.draw do
mount Rswag::Api::Engine => '/api-docs'
mount Rswag::Ui::Engine => '/api-docs'
authenticate :user, ->(u) { u.admin? } do
mount Sidekiq::Web => '/sidekiq'
end
# 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
resources :settings, only: :index
namespace :settings do
resources :background_jobs, only: %i[index create destroy]
resources :users, only: :create
end
patch 'settings', to: 'settings#update'
get 'settings/theme', to: 'settings#theme'
post 'settings/generate_api_key', to: 'settings#generate_api_key', as: :generate_api_key
resources :imports
resources :visits, only: %i[index show edit update destroy]
resources :exports, only: %i[index create destroy]
resources :points, only: %i[index] do
collection do
delete :bulk_destroy
end
end
resources :notifications, only: %i[index show destroy]
post 'notifications/mark_as_read', to: 'notifications#mark_as_read', as: :mark_notifications_as_read
resources :stats, only: :index do
collection do
post :update
end
end
get 'stats/:year', to: 'stats#show', constraints: { year: /\d{4}/ }
root to: 'home#index'
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
get 'map', to: 'map#index'
namespace :api do
namespace :v1 do
resources :areas, only: %i[index create update destroy]
resources :points, only: %i[destroy]
namespace :overland do
resources :batches, only: :create
end
namespace :owntracks do
resources :points, only: :create
end
end
end
end